50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
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
|