# cSpell:ignore checkmake hadolint autofix autoupdate
repos:
  - repo: meta
    hooks:
      - id: check-hooks-apply
      - id: check-useless-excludes
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: end-of-file-fixer
      - id: trailing-whitespace
  - repo: https://github.com/golangci/golangci-lint
    rev: v1.62.0
    hooks:
      - id: golangci-lint
  - repo: https://github.com/igorshubovych/markdownlint-cli
    rev: v0.43.0
    hooks:
      - id: markdownlint
        exclude: '^(docs/versioned_docs/.*|CHANGELOG.md)$'
  - repo: https://github.com/mrtazz/checkmake
    rev: 0.2.2
    hooks:
      - id: checkmake
        exclude: '^docker/Dockerfile.make$' # actually a Dockerfile and not a makefile
  - repo: https://github.com/hadolint/hadolint
    rev: v2.13.1-beta
    hooks:
      - id: hadolint
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v4.0.0-alpha.8
    hooks:
      - id: prettier
  - repo: https://github.com/adrienverge/yamllint.git
    rev: v1.35.1
    hooks:
      - id: yamllint
        args: [--strict, -c=.yamllint.yaml]
  - repo: local
    hooks:
      - id: yaml-file-extension
        name: Check if YAML files has *.yaml extension.
        entry: YAML filenames must have .yaml extension.
        language: fail
        files: .yml$
        exclude: '^(.gitpod.yml|.github/ISSUE_TEMPLATE/config.yml)$'

ci:
  autofix_commit_msg: |
    [pre-commit.ci] auto fixes from pre-commit.com hooks [CI SKIP]

    for more information, see https://pre-commit.ci
  autofix_prs: true
  autoupdate_branch: ''
  autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
  autoupdate_schedule: quarterly
  # NB: hadolint not included in pre-commit.ci
  skip: [check-hooks-apply, check-useless-excludes, hadolint, prettier, golangci-lint]
  submodules: false
