name: Pre-commit hooks
on: [pull_request]

jobs:
  precommit:
    name: Pre-commit
    env:
      # Skip pre-commit hooks which are executed by other actions.
      SKIP: make-lint,go-staticcheck-repo-mod,go-unit-tests,gofumpt
    runs-on: ubuntu-22.04
    # If we use actions/setup-python from either Github or Gitea,
    # the line above fails with a cryptic error about not being able to find python.
    # So install everything manually.
    steps:
      - uses: actions/checkout@v3
      - name: Set up Go
        uses: actions/setup-go@v3
        with:
          go-version: 1.23
      - name: Set up Python
        run: |
          apt update
          apt install -y pre-commit
      - name: Run pre-commit
        run: pre-commit run --color=always --hook-stage manual --all-files