| 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 |