name: Lint

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

jobs:
  run-linter:
    timeout-minutes: 30
    runs-on: ubuntu-latest

    steps:
      - name: Check out the repository
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.10'

      - name: Install pre-commit
        run: pip install pre-commit

      - uses: actions/cache@v4
        with:
          path: ~/.cache/pre-commit/
          key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}

      - name: pre-commit
        run: pre-commit run --all-files
