name: Linters on: push: branches: - master pull_request: branches: - master jobs: analyse: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.9 uses: actions/setup-python@v3 with: python-version: 3.9 - name: Set up Poetry uses: Gr1N/setup-poetry@v7 - name: Cache venv uses: actions/cache@v3 with: path: .venv key: venv-${{ hashFiles('**/poetry.lock') }} - name: Cache pre-commit uses: actions/cache@v3 with: path: ~/.cache/pre-commit/ key: ${{ runner.os }}-pre-commit-${{ hashFiles('**/poetry.lock') }}-${{ hashFiles('**/.pre-commit-config.yaml') }} # yamllint disable-line - name: Install dependencies run: poetry install - name: Register problems matchers run: | echo "::add-matcher::.github/workflows/matchers/pylint.json" echo "::add-matcher::.github/workflows/matchers/flake8.json" echo "::add-matcher::.github/workflows/matchers/mypy.json" echo "::add-matcher::.github/workflows/matchers/python.json" - name: Apply all pre-commit run: poetry run pre-commit run -a