name: Pre-commit Checks on: push: branches: [main, master] pull_request: branches: [main, master] # Cancel in-progress runs for the same branch concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: pre-commit: name: Run Pre-commit Hooks runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Install mise uses: jdx/mise-action@v2 - name: Install uv uses: astral-sh/setup-uv@v4 with: version: "latest" - name: Set up Python run: uv python install 3.11 - name: Install dependencies run: uv sync --all-extras - name: Cache pre-commit hooks uses: actions/cache@v4 with: path: ~/.cache/pre-commit key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} restore-keys: | pre-commit- - name: Run pre-commit on all files run: uv run pre-commit run --all-files --show-diff-on-failure