chore(ci): pre-push-hook controleert het CI-testregister #272

Merged
janpeter merged 1 commit from chore/pre-push-test-registry into main 2026-09-29 16:41:42 +02:00
Owner

An unregistered test file makes Root app checks fail in its first minute, before any test runs, and the job log can't be read through the API. That's how #270 stayed red "for no reason". This adds .githooks/pre-push, which runs the same loadGroups check from scripts/ci/test-groups.mjs before every push and says which file is missing and where to add it.

  • To enable: git config core.hooksPath .githooks, once per clone (applies to all worktrees). It's already on for JP's Mac clone.
  • Emergency skip: git push --no-verify.
  • Test test/pre-push-test-registry-hook.test.ts (base group) covers a pass, an unregistered test, a double owner, and the repo itself.
  • Checked by hand as well: a dry-run push with an unregistered test was refused with the file name.
  • The docs/runbooks/ci-selection.md runbook has a short section on it.

🤖 Generated with Claude Code

An unregistered test file makes Root app checks fail in its first minute, before any test runs, and the job log can't be read through the API. That's how #270 stayed red "for no reason". This adds `.githooks/pre-push`, which runs the same `loadGroups` check from `scripts/ci/test-groups.mjs` before every push and says which file is missing and where to add it. - To enable: `git config core.hooksPath .githooks`, once per clone (applies to all worktrees). It's already on for JP's Mac clone. - Emergency skip: `git push --no-verify`. - Test `test/pre-push-test-registry-hook.test.ts` (base group) covers a pass, an unregistered test, a double owner, and the repo itself. - Checked by hand as well: a dry-run push with an unregistered test was refused with the file name. - The `docs/runbooks/ci-selection.md` runbook has a short section on it. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chore(ci): pre-push-hook controleert het CI-testregister
All checks were successful
CI / Select checks (pull_request) Successful in 22s
CI / Ops-agent checks (pull_request) Successful in 49s
CI / DB access operator (pull_request) Successful in 1m40s
CI / Deploy artifact checks (pull_request) Successful in 1m30s
CI / Docker image build (pull_request) Successful in 1m24s
CI / Root app checks (pull_request) Successful in 8m45s
CI / Mac foundation hermetic checks (pull_request) Successful in 2m31s
CI / Required checks (pull_request) Successful in 35s
3b33532f40
Een niet-geregistreerde test laat Root app checks in de eerste minuut falen
zonder leesbare reden (PR #270). .githooks/pre-push draait dezelfde
loadGroups-controle vóór elke push. Aanzetten: git config core.hooksPath .githooks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
s4m-codex-reviewer left a comment

APPROVED

Geen findings met blocker- of error-severity.

De hook hergebruikt loadGroups uit de CI-validatie, faalt met een bruikbare herstelmelding bij ontbrekende/dubbele testregistratie, en de nieuwe tests dekken de geldige, ontbrekende, dubbele en repository-brede gevallen. De runbook documenteert installatie en nooduitzondering.

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

## APPROVED Geen findings met blocker- of error-severity. De hook hergebruikt `loadGroups` uit de CI-validatie, faalt met een bruikbare herstelmelding bij ontbrekende/dubbele testregistratie, en de nieuwe tests dekken de geldige, ontbrekende, dubbele en repository-brede gevallen. De runbook documenteert installatie en nooduitzondering. Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Ops-dashboard!272
No description provided.