# - How to use (install as git hook — only runs on staged files): # python3 -m pip install pre-commit # cd # pre-commit install -c projects/amdsmi/.pre-commit-config.yaml # # - How to run manually on branch changes only (vs develop): # pre-commit run --config projects/amdsmi/.pre-commit-config.yaml \ # --from-ref develop --to-ref HEAD # # - How to run on all files (CAUTION: reformats everything): # pre-commit run --all-files --config projects/amdsmi/.pre-commit-config.yaml # # How to skip: # git commit --no-verify # or # SKIP=clang-format git commit # SKIP=ruff-format git commit # SKIP=gersemi git commit exclude: | (?x) docs/ | .*\.(md|rst|rtf)$ | \.readthedocs\.yaml$ | build/ | build-.*/ | _build/ | esmi_ib_library/ | third_party/ fail_fast: false repos: - repo: https://github.com/codespell-project/codespell rev: v2.4.2 hooks: - id: codespell args: ["-w", "--config", "projects/amdsmi/.codespellrc"] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: trailing-whitespace exclude: ^py-interface/amdsmi_wrapper\.py$ - id: end-of-file-fixer exclude: ^py-interface/amdsmi_wrapper\.py$ - id: check-yaml - id: check-json - id: check-merge-conflict - id: check-added-large-files - id: mixed-line-ending - repo: https://github.com/pre-commit/mirrors-clang-format rev: v22.1.0 hooks: - id: clang-format files: '\.(c|cpp|cc|h|hpp|m|mm)$' - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.15.4 hooks: - id: ruff-format exclude: ^py-interface/amdsmi_wrapper\.py$ - repo: https://github.com/BlankSpruce/gersemi rev: 0.26.0 hooks: - id: gersemi - repo: local hooks: - id: amdsmi-test-conventions name: amd-smi C++ test conventions description: >- Enforce amd_smi_test layout, file naming, and GTest suite naming (see docs/conceptual/test-design.md). entry: python3 projects/amdsmi/tests/amd_smi_test/check_test_conventions.py language: system pass_filenames: false files: ^projects/amdsmi/tests/amd_smi_test/.*\.(cc|h)$