|
|
|
name: Lint
|
|
|
|
|
|
|
|
concurrency:
|
|
|
|
group: lint-${{ github.head_ref || github.ref }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths:
|
|
|
|
- "**.py"
|
|
|
|
- ".github/workflows/lint.yml"
|
|
|
|
pull_request:
|
|
|
|
paths:
|
|
|
|
- "**.py"
|
|
|
|
- ".github/workflows/lint.yml"
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
pylint:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions/setup-python@v4
|
|
|
|
with:
|
|
|
|
python-version: '3.x'
|
|
|
|
- run: python -m pip install pylint
|
|
|
|
- run: pylint --output-format colorized mesonbuild
|
|
|
|
|
|
|
|
flake8:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions/setup-python@v4
|
|
|
|
with:
|
|
|
|
python-version: '3.x'
|
|
|
|
- run: python -m pip install flake8
|
|
|
|
- run: flake8 --color always mesonbuild/
|
|
|
|
|
|
|
|
mypy:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions/setup-python@v4
|
|
|
|
with:
|
|
|
|
python-version: '3.x'
|
|
|
|
# Pin mypy to version 1.8, so we retain the ability to lint for Python 3.7
|
|
|
|
- run: python -m pip install "mypy==1.8" coverage strictyaml types-PyYAML types-tqdm types-chevron
|
|
|
|
- run: python run_mypy.py --allver
|
|
|
|
env:
|
|
|
|
PYTHONUNBUFFERED: 1
|
|
|
|
TERM: xterm-color
|
|
|
|
MYPY_FORCE_COLOR: 1
|