Files
grm/.pre-commit-config.yaml
T
emil 12f4aa4c92
Post-merge / configure-repo (push) Waiting to run
Post-merge / publish (push) Waiting to run
Post-merge / detect-type (push) Waiting to run
Post-merge / release (push) Waiting to run
Post-merge / sync-wiki (push) Waiting to run
Post-merge / validate-commit-msg (push) Waiting to run
Post-merge / vikunja (push) Waiting to run
Post-merge / badges (push) Waiting to run
GRM-141: feat: consolidate docs checks into devx-docs-check target
2026-07-07 22:15:25 +00:00

99 lines
2.8 KiB
YAML

repos:
- repo: local
hooks:
- id: validate-commit-msg
name: validate commit message
entry: env PYTHONPATH=src .venv/bin/python -m devx.ci.validate_commit_msg
language: system
stages: [commit-msg]
pass_filenames: true
- id: lint-ruff
name: ruff lint
entry: make lint-ruff
language: system
types: [python]
pass_filenames: false
stages: [pre-commit]
- id: lint-format
name: ruff format check
entry: make lint-format
language: system
types: [python]
pass_filenames: false
stages: [pre-commit]
- id: typecheck
name: pyright type check
entry: make typecheck
language: system
types: [python]
pass_filenames: false
stages: [pre-commit]
- id: lint-bandit
name: bandit security scan
entry: make lint-bandit
language: system
types: [python]
pass_filenames: false
stages: [pre-commit]
- id: ansible-lint
name: ansible-lint
entry: make ansible-lint
language: system
types: [yaml]
pass_filenames: false
stages: [pre-commit]
- id: workflow-lint
name: actionlint (workflow YAML)
entry: make workflow-lint
language: system
files: ^\.gitea/workflows/
types: [yaml]
pass_filenames: false
stages: [pre-commit]
- id: checkmake
name: checkmake Makefile linter
entry: make checkmake
language: system
files: ^Makefile$
pass_filenames: false
stages: [pre-commit]
- id: check-test-speed
name: unit test speed check
entry: .venv/bin/python -m devx.tools.check_test_speed --max-seconds 4 --max-single-seconds 0.5
language: system
types: [python]
pass_filenames: false
stages: [pre-commit]
- id: check-translations
name: translation completeness check
entry: env PYTHONPATH=src .venv/bin/python -m devx.ci.check_translations --translations src/grm/translations.json
language: system
files: ^src/grm/translations\.json$
pass_filenames: false
stages: [pre-commit]
- id: docs-check
name: documentation gate (coverage + stale refs + lint + version refs + prose)
entry: bash -c 'PYTHONPATH=src DEVX_DOC_COVERAGE_STRICT=1 DEVX_DOC_VERSIONS_PKG=grm DEVX_VALE_LEVEL=warning make devx-docs-check'
language: system
pass_filenames: false
always_run: true
stages: [pre-commit]
- id: pytest-cov
name: pytest with 100% coverage
entry: make pytest-cov
language: system
types: [python]
pass_filenames: false
stages: [pre-push]