---
ci:
  autoupdate_schedule: monthly
  skip:
    # build of https://github.com/ansible/ansible-lint:ansible@v24.9.2 for python@python3 exceeds tier max size 250MiB: 405.6MiB
    - ansible-lint
    - ggshield
    - caddy-fmt

exclude: ^roles/borgbase.ansible_role_borgbackup/.*$
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: check-added-large-files
      - id: check-case-conflict
      - id: check-executables-have-shebangs
      - id: check-illegal-windows-names
      - id: check-json
      - id: check-merge-conflict
      - id: check-shebang-scripts-are-executable
      - id: check-symlinks
      - id: check-toml
      - id: check-vcs-permalinks
      - id: check-yaml
        args: [--unsafe]
      - id: detect-private-key
      - id: end-of-file-fixer
      - id: mixed-line-ending
      - id: trailing-whitespace
  - repo: https://github.com/ansible/ansible-lint
    rev: v25.1.3
    hooks:
      - id: ansible-lint
        entry: python3 -m ansiblelint -v --force-color --fix
        additional_dependencies:
          - ansible # necessary because we're using community collections
  - repo: https://github.com/gitguardian/ggshield
    rev: v1.37.0
    hooks:
      - id: ggshield
  - repo: local
    hooks:
      - id: caddy-fmt
        name: caddy fmt
        language: system
        entry: caddy fmt --overwrite
        files: ^Caddyfile$