name: pre-commit on: push: branches: [main] pull_request: types: [opened, synchronize, reopened, ready_for_review] permissions: contents: read jobs: run-pre-commit: name: Run pre-commit runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v6 with: python-version: '3.10' cache: 'pip' - name: Install pre-commit run: pip install --upgrade pip pre-commit - name: Cache pre-commit environments uses: actions/cache@v5 with: path: ~/.cache/pre-commit key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }} restore-keys: | pre-commit-${{ runner.os }}- - name: Run pre-commit on all files run: pre-commit run --all-files --show-diff-on-failure --color=always