name: lint_python on: pull_request: branches: [master] push: branches: [master] jobs: lint_python: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: 3.x - run: pip install --upgrade pip ruff setuptools wheel - name: "Ruff: Show stopper (must-fix) issues" run: ruff . --select=E9,F63,F7,F82,PLE,YTT --show-source . - name: "Ruff: All issues" run: ruff --exit-zero --select=ALL --statistics --target-version=py37 . - name: "Ruff: All fixable (ruff --fix) issues" run: ruff --exit-zero --select=ALL --ignore=ANN204,COM812,ERA001,RSE102 --statistics --target-version=py37 . | grep "\[\*\]" - run: pip install black codespell mypy pytest safety - run: black --check . || true - run: codespell - run: pip install -r requirements.txt || pip install --editable . || pip install . || true - run: mkdir --parents --verbose .mypy_cache - run: mypy --ignore-missing-imports --install-types --non-interactive . || true - run: pytest . || true - run: pytest --doctest-modules . || true - run: safety check