repos:
  - repo: local
    hooks:
      - id: sync-integration-tests-commit
        name: sync-integration-tests-commit
        entry: .github/scripts/integration_tests_sync.sh commit
        language: script
        stages: [pre-commit]
        always_run: true
        pass_filenames: false
      - id: sync-integration-tests-checkout
        name: sync-integration-tests-checkout
        entry: .github/scripts/integration_tests_sync.sh checkout
        language: script
        stages: [post-checkout]
        always_run: true
        pass_filenames: false
      - id: sync-integration-tests-push
        name: sync-integration-tests-push
        entry: .github/scripts/integration_tests_sync.sh push
        language: script
        stages: [pre-push]
        always_run: true
        pass_filenames: false
      - id: sync-integration-tests-merge
        name: sync-integration-tests-merge
        entry: .github/scripts/integration_tests_sync.sh merge
        language: script
        stages: [post-merge]
        always_run: true
        pass_filenames: false
      - id: ruff
        name: ruff
        description: "Run 'ruff' for extremely fast Python linting"
        entry: ruff check
          --force-exclude --fix
        language: python
        types_or: [python, pyi]
        require_serial: true
        additional_dependencies: []
      - id: ruff-format
        name: ruff-format
        description: "Run 'ruff format' for extremely fast Python formatting"
        entry: ruff format
        language: python
        types_or: [python, pyi]
        require_serial: true
      - id: mypy
        name: mypy
        entry: mypy sqlglot tests
        language: system
        types: [ python ]
        files: ^(sqlglot/|tests/)
        pass_filenames: false
