| # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 |
| # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt |
| |
| name: "Quality" |
| |
| on: |
| push: |
| branches: |
| - master |
| - nedbat/* |
| pull_request: |
| workflow_dispatch: |
| |
| defaults: |
| run: |
| shell: bash |
| |
| env: |
| PIP_DISABLE_PIP_VERSION_CHECK: 1 |
| |
| permissions: |
| contents: read |
| |
| concurrency: |
| group: "${{ github.workflow }}-${{ github.ref }}" |
| cancel-in-progress: true |
| |
| jobs: |
| lint: |
| name: "Pylint etc" |
| # Because pylint can report different things on different OS's (!) |
| # (https://github.com/PyCQA/pylint/issues/3489), run this on Mac where local |
| # pylint gets run. |
| # GitHub is rolling out macos 14, but it doesn't have Python 3.8 or 3.9. |
| # https://mastodon.social/@hugovk/112320493602782374 |
| runs-on: macos-13 |
| |
| steps: |
| - name: "Check out the repo" |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 |
| |
| - name: "Install Python" |
| uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 |
| with: |
| python-version: "3.8" # Minimum of PYVERSIONS |
| cache: pip |
| cache-dependency-path: 'requirements/*.pip' |
| |
| - name: "Install dependencies" |
| run: | |
| python -m pip install -r requirements/tox.pip |
| |
| - name: "Tox lint" |
| run: | |
| python -m tox -e lint |
| |
| mypy: |
| name: "Check types" |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: "Check out the repo" |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 |
| |
| - name: "Install Python" |
| uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 |
| with: |
| python-version: "3.8" # Minimum of PYVERSIONS, but at least 3.8 |
| cache: pip |
| cache-dependency-path: 'requirements/*.pip' |
| |
| - name: "Install dependencies" |
| run: | |
| python -m pip install -r requirements/tox.pip |
| |
| - name: "Tox mypy" |
| run: | |
| python -m tox -e mypy |
| |
| doc: |
| name: "Build docs" |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: "Check out the repo" |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 |
| |
| - name: "Install Python" |
| uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 |
| with: |
| python-version: "3.11" # Doc version from PYVERSIONS |
| cache: pip |
| cache-dependency-path: 'requirements/*.pip' |
| |
| - name: "Show environment" |
| run: | |
| set -xe |
| python -VV |
| python -m site |
| env | sort |
| |
| - name: "Install dependencies" |
| run: | |
| set -xe |
| python -m pip install -r requirements/tox.pip |
| |
| - name: "Tox doc" |
| run: | |
| python -m tox -e doc |