name: lint

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    name: black-ruff-mypy
    steps:
    - uses: actions/checkout@v3
    - name: Set up Python 3.10
      uses: actions/setup-python@v4
      with:
        python-version: "3.10"
    # Installing all dependencies and not just the linters as mypy needs them for type checking
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install .[dev]
    - name: Check formatting with black
      run: |
        black --diff --color .
        black --check .
    - name: Lint with ruff
      run: |        
        ruff check .
    - name: Lint with mypy
      run: |
        mypy altair tests
