CI: Implement mypy pre-commit check #2080
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'CI' | |
on: | |
pull_request: | |
# Run only one workflow per PR or commit | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
# Disable default permissions for all jobs | |
permissions: { } | |
jobs: | |
lint: | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
name: Run linters | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.12 | |
- name: Update pip | |
run: | | |
python -m pip install -U pip | |
- name: Install requirements | |
run: | | |
python -m pip install -U -r requirements.txt -r tests/requirements.txt -r requirements-mypy.txt | |
- uses: pre-commit/[email protected] | |
test: | |
needs: lint | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
name: Run Python tests (python${{ matrix.python }}) | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
python: [3.9, 3.12] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Python ${{ matrix.python }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Update pip | |
run: | | |
python -m pip install -U pip | |
- name: Install requirements | |
run: | | |
python -m pip install -U -r requirements.txt -r tests/requirements.txt | |
- name: Run tests | |
run: | | |
python -m pytest -v --log-cli-level=ERROR |