Merge pull request #938 from sir-gon/develop #610
This file contains hidden or 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: Python CI Lint | |
| on: # yamllint disable-line rule:truthy | |
| push: | |
| branches: ['main'] | |
| pull_request: | |
| # The branches below must be a subset of the branches above | |
| branches: ['main'] | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: 'Python CI Lint' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ['ubuntu-24.04', 'macos-14', 'windows-2022'] | |
| python: ['3.12', '3.13', '3.14'] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 | |
| - name: Setup Python | |
| uses: actions/setup-python@master | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install tooling on Ubuntu | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pipenv | |
| shell: bash | |
| - name: Install tooling on macOS | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install pipenv | |
| shell: bash | |
| - name: Install tooling on Windows | |
| if: runner.os == 'Windows' | |
| run: | | |
| python -m pip install --user pipenv==2026.6.1 | |
| shell: pwsh | |
| - name: Tooling check | |
| run: | | |
| python3 --version | |
| pipenv --version | |
| make --version | |
| - name: Install | |
| run: | | |
| # Use the lockfile to install deterministic, audited dependencies | |
| pipenv sync --dev | |
| - name: Lint (pylint) | |
| run: | | |
| pipenv run pylint --verbose --recursive yes src/ | |
| - name: Lint (flake8) | |
| run: | | |
| pipenv run flake8 --verbose src/ | |
| - name: Lint (pyright) static type checker | |
| run: | | |
| pipenv run pyright --verbose src/ | |
| - name: Styling (pycodestyle) | |
| run: | | |
| pipenv run pycodestyle --statistics src/ | |
| - name: Styling (autopep8) | |
| run: | | |
| pipenv run autopep8 --diff --recursive --exit-code --verbose . |