Switch git hooks from pre-commit to prek (#276)
## Summary - Replace pre-commit with [prek](https://github.com/j178/prek), a faster Rust-native drop-in alternative - Migrate config from `.pre-commit-config.yaml` (YAML) to `prek.toml` (TOML) - Add new built-in checks: case conflicts, private key detection, executable shebangs - Install prek via mise native registry (`aqua:j178/prek`) instead of pipx - Update all doc references across README, contributing guide, and how-to docs ## Notes - `check-yaml` still uses the remote `pre-commit-hooks` repo because prek's builtin fast path doesn't support `--unsafe` yet (needed for Ansible custom YAML tags) - All existing custom hooks (docs validation, container version check, mikado invariant, workflow validation) work unchanged - Tested: all hooks pass on clean tree, deliberate doc link breakage is caught ## Test plan - [x] `prek run --all-files` passes all checks - [x] Broken wiki-link correctly caught by `docs-check-links` - [x] taplo-format auto-fixes TOML formatting on commit - [x] commit-msg hook (mikado invariant) fires correctly Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/276
This commit is contained in:
parent
940219338a
commit
7a1875936c
12 changed files with 192 additions and 170 deletions
|
|
@ -58,12 +58,12 @@ You'll need [Homebrew](https://brew.sh) and [mise](https://mise.jdx.dev):
|
|||
```bash
|
||||
brew bundle # install CLI tools (argocd, tea, flyctl, etc.)
|
||||
mise install # install managed toolchains (ansible, pulumi, dagger, etc.)
|
||||
uvx pre-commit install # set up pre-commit hooks
|
||||
prek install # set up git hooks
|
||||
```
|
||||
|
||||
Pre-commit hooks enforce secret scanning (TruffleHog), linting, formatting, and
|
||||
custom checks like doc link validation and the Mikado branch invariant. Run
|
||||
them manually with `uvx pre-commit run --all-files`.
|
||||
Git hooks (via [prek](https://github.com/j178/prek)) enforce secret scanning
|
||||
(TruffleHog), linting, formatting, and custom checks like doc link validation
|
||||
and the Mikado branch invariant. Run them manually with `prek run --all-files`.
|
||||
|
||||
Operational tasks are driven through mise. Run `mise tasks` to see what's
|
||||
available. Key examples:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue