name: Code Quality Checks on: push: branches: - main - release/** pull_request: branches: - main - release/** workflow_call: workflow_dispatch: # Cancel old runs when a new commit is pushed to the same branch if not on main or dev concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} defaults: run: working-directory: . jobs: code-quality: runs-on: ubuntu-20.04 timeout-minutes: 10 strategy: matrix: python_version: - '3.8' - '3.9' - '3.10' pip_deps: - '[dev]' steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python_version }} - name: Setup run: | set -ex python -m pip install --upgrade 'pip<23' wheel python -m pip install --upgrade .${{ matrix.pip_deps }} - name: Run checks run: | pre-commit run --all-files