name: python + Bazel pre-commit checks on: push: branches: [ main ] pull_request: branches: [ main ] jobs: pre-commit: runs-on: ubuntu-latest env: MYPY_CACHE_DIR: "${{ github.workspace }}/.cache/mypy" RUFF_CACHE_DIR: "${{ github.workspace }}/.cache/ruff" PRE_COMMIT_HOME: "${{ github.workspace }}/.cache/pre-commit" steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.11 cache: pip cache-dependency-path: pyproject.toml - name: Install dependencies run: python -m pip install ".[dev]" - name: Cache pre-commit tools uses: actions/cache@v3 with: path: | ${{ env.MYPY_CACHE_DIR }} ${{ env.RUFF_CACHE_DIR }} ${{ env.PRE_COMMIT_HOME }} key: ${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}-linter-cache - name: Run pre-commit checks run: pre-commit run --all-files --verbose --show-diff-on-failure