name: Lint
on:
  push:
    branches:
      - '**'
      - '!dependabot/**'
    tags:
      - '**'
  pull_request:
concurrency:
  group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
  cancel-in-progress: true
permissions:
  contents: read
jobs:
  pre-commit:
    name: pre-commit
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install
        run: |
          python -m pip install pre-commit
      - uses: actions/cache@v4
        with:
          path: ~/.cache/pre-commit
          key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
          restore-keys: pre-commit-
      - name: Run
        run: |
          pre-commit run --show-diff-on-failure --color=always --all-files
