|
--- |
|
name: Linting |
|
on: [pull_request] |
|
|
|
permissions: {} |
|
|
|
jobs: |
|
pre-commit: |
|
name: precommit |
|
runs-on: ubuntu-latest |
|
permissions: |
|
contents: read |
|
steps: |
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
|
with: |
|
fetch-depth: 0 |
|
persist-credentials: false |
|
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
|
with: |
|
python-version: "3.x" |
|
- uses: j178/prek-action@79f765515bd648eb4d6bb1b17277b7cb22cb6468 # v2.0.0 |
|
with: |
|
extra_args: --hook-stage manual --all-files |
|
|
|
ruff: |
|
name: ruff |
|
runs-on: ubuntu-latest |
|
permissions: |
|
contents: read |
|
checks: write |
|
steps: |
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
|
with: |
|
persist-credentials: false |
|
|
|
- name: Set up Python 3 |
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
|
with: |
|
python-version: '3.11' |
|
|
|
- name: Install ruff |
|
run: pip3 install ruff |
|
|
|
- name: Set up reviewdog |
|
uses: reviewdog/action-setup@d8a7baabd7f3e8544ee4dbde3ee41d0011c3a93f # v1.5.0 |
|
|
|
- name: Run ruff |
|
env: |
|
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
run: | |
|
set -o pipefail |
|
ruff check --output-format rdjson | \ |
|
reviewdog -f=rdjson \ |
|
-tee -reporter=github-check -filter-mode nofilter |
|
mypy: |
|
name: mypy |
|
runs-on: ubuntu-latest |
|
permissions: |
|
contents: read |
|
checks: write |
|
steps: |
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
|
with: |
|
persist-credentials: false |
|
|
|
- name: Set up Python 3 |
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
|
with: |
|
python-version: '3.11' |
|
|
|
- name: Install mypy |
|
run: pip3 install --group build --group typing |
|
|
|
- name: Set up reviewdog |
|
uses: reviewdog/action-setup@d8a7baabd7f3e8544ee4dbde3ee41d0011c3a93f # v1.5.0 |
|
|
|
- name: Run mypy |
|
env: |
|
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
run: | |
|
set -o pipefail |
|
mypy --config pyproject.toml | \ |
|
reviewdog -f=mypy -name=mypy \ |
|
-tee -reporter=github-check -filter-mode nofilter |
|
|
|
|
|
eslint: |
|
name: eslint |
|
runs-on: ubuntu-latest |
|
permissions: |
|
contents: read |
|
checks: write |
|
steps: |
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
|
with: |
|
persist-credentials: false |
|
|
|
- name: eslint |
|
uses: reviewdog/action-eslint@556a3fdaf8b4201d4d74d406013386aa4f7dab96 # v1.34.0 |
|
with: |
|
filter_mode: nofilter |
|
github_token: ${{ secrets.GITHUB_TOKEN }} |
|
reporter: github-check |
|
workdir: 'lib/matplotlib/backends/web_backend/' |