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