# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks ci: autofix_prs: true autofix_commit_msg: "[Lint]: [pre-commit.ci] auto fixes [...]" autoupdate_commit_msg: "[CI] [pre-commit.ci] autoupdate" autoupdate_schedule: monthly default_stages: [pre-commit, pre-push, manual] exclude: '^(build|3rdparty)/.*$' # exclude build and 3rdparty directories repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: check-symlinks - id: destroyed-symlinks # FIXME: enable these hooks # - id: trailing-whitespace # - id: end-of-file-fixer - id: check-added-large-files - id: check-merge-conflict fail_fast: true # FIXME: enable these hooks # - id: check-executables-have-shebangs # - id: check-shebang-scripts-are-executable - id: detect-private-key - id: check-yaml - id: check-toml - id: check-ast fail_fast: true - id: debug-statements - id: file-contents-sorter args: [--ignore-case] files: ^docs/spelling_wordlist\.txt$ - repo: https://github.com/pre-commit/mirrors-clang-format rev: v15.0.7 # sync with requirements-lint.txt hooks: - id: clang-format exclude: | (?ix)( ^.+\.(cu|cuh)$| ^.+\.json$ ) - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.0 # sync with requirements-lint.txt hooks: - id: ruff-check args: [--fix, --exit-non-zero-on-fix] - repo: https://github.com/google/yapf rev: v0.43.0 # sync with requirements-lint.txt hooks: - id: yapf args: [--recursive, --in-place] - repo: https://github.com/codespell-project/codespell rev: v2.4.1 # sync with requirements-lint.txt hooks: - id: codespell additional_dependencies: [".[toml]"] exclude: | (?x)( ^.+\.(cpp|hpp|cxx|cc|c|h|cu|cuh)$| ^.+\.svg$| ^.*\brequirements\b.*\.txt$ )