@@ -10,12 +10,13 @@ jobs:
1010 if : |
1111 github.event_name != 'pull_request' ||
1212 github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
13-
1413 runs-on : ubuntu-latest
1514 outputs :
16- tox : ${{ steps.filter.outputs.tox }}
17- py : ${{ steps.filter.outputs.py }}
1815 has-changes : ${{ fromJson(steps.filter.outputs.changes)[0] != null }}
16+ py : ${{ steps.filter.outputs.py }}
17+ py-lint : ${{ steps.filter.outputs.py-lint }}
18+ md : ${{ steps.filter.outputs.md }}
19+ md-lint : ${{ steps.filter.outputs.md-lint }}
1920 steps :
2021 - name : Checkout
2122 uses : actions/checkout@v3
@@ -33,60 +34,23 @@ jobs:
3334 with :
3435 filters : ${{ steps.read-file.outputs.content }}
3536
36- env_prep :
37+ py-lint :
3738 needs : determine-changes
38- if : needs.determine-changes.outputs.has-changes == 'true'
39-
40- runs-on : ubuntu-latest
41- outputs :
42- env : ${{ steps.read-file.outputs.content }}
43- steps :
44- - name : Checkout
45- uses : actions/checkout@v3
46-
47- - name : Read YAML file
48- id : read-file
49- uses : ./.github/actions/read-yaml
50- with :
51- path : .github/settings/env.yml
52- filter : ' .env'
53-
54- build :
55- needs : [determine-changes, env_prep]
56- env : ${{ fromJson(needs.env_prep.outputs.env) }}
39+ if : needs.determine-changes.outputs.py == 'true'
40+ uses : ./.github/workflows/py_lint.yml
41+ with :
42+ enable-lint : ${{ fromJson(needs.determine-changes.outputs.py-lint) }}
5743
44+ md-lint :
45+ needs : determine-changes
46+ if : needs.determine-changes.outputs.md == 'true'
5847 runs-on : ubuntu-latest
5948 steps :
6049 - name : Checkout
6150 uses : actions/checkout@v3
6251
63- - name : Set up Python ${{ env.python-version }}
64- id : setup-python
65- uses : actions/setup-python@v4
52+ - name : Lint all markdown files
53+ if : needs.determine-changes.outputs.md-lint == 'true'
54+ uses : DavidAnson/markdownlint-cli2-action@v9
6655 with :
67- python-version : ${{ env.python-version }}
68-
69- - name : Set up Poetry ${{ env.poetry-version }}
70- id : setup-poetry
71- uses : ./.github/actions/setup-poetry
72- with :
73- cache-path : ${{ env.poetry-cache-paths }}
74- cache-key : ${{ format(env.poetry-cache-key-fmt, env.poetry-version, runner.os, steps.setup-python.outputs.python-version) }}
75- poetry-version : ${{ env.poetry-version }}
76- poetry-home : ${{ env.poetry-home }}
77- poetry-path : ${{ env.poetry-path }}
78-
79- - name : Set up Poetry dependencies
80- id : setup-poetry-dependencies
81- uses : ./.github/actions/setup-poetry-dependencies
82- with :
83- cache-key : ${{ format(env.venv-cache-key-fmt, runner.os, steps.setup-python.outputs.python-version, hashFiles('**/poetry.lock')) }}
84- python-version : ${{ steps.setup-python.outputs.python-version }}
85- poetry-install-args : --no-interaction --no-root --with dev
86-
87- - name : Lint with tox
88- if : |
89- needs.determine-changes.outputs.tox == 'true' ||
90- needs.determine-changes.outputs.py == 'true'
91- run : |
92- poetry run tox -e black,isort,flake8,mypy -p all -q
56+ globs : ' **/*.md'
0 commit comments