Add local pre-push gates so PRs are not opened on a red check - #472
TheGreatAxios merged 4 commits into
Conversation
|
Reviewed against CL-7188's acceptance criteria and did a full pass on the diff, CI, and the git-hooks mechanics. Verified against acceptance criteria — all satisfied:
Drift check — the hook runs exactly Fixed: the PR description referenced a stale env var name ( No code changes needed — lint, typecheck, and the new No open review comments to address. Looks ready to merge. |
A change under package.json, a shared tsconfig, scripts/, or .github/ cannot be narrowed to affected packages, so typecheck and tests check every package instead and take much longer. Without this note that reads as a hang rather than the documented tradeoff in scripts/affected.ts.
|
Cross-PR dependency, flagged so it is not discovered at merge time. PR #503 (CL-7226) moves the workspace onto TypeScript project references and The pre-push hook this PR adds sets Worth noting the numbers, because they change the calculus for this PR's own design: #503 takes a cold typecheck from over 600s (past the command cap) to roughly 110-118s, with a warm no-op around 56s. The concern raised in review here — that a gate nobody can afford to wait for gets bypassed with No action needed on this PR right now; recording the ordering. |
Fixes https://linear.app/abklabs/issue/CL-7188/add-local-pre-push-gates-so-prs-are-not-opened-on-a-red-check
bun install/bun run hooks:installsetscore.hooksPathto a repo-local pre-push hook that runs lint, typecheck, and unit tests (the cheap CI jobs). Walking-skeleton / e2e / database-backed suites stay on GitHub.Override with
git push --no-verifyorSKIP_WORKBENCH_HOOKS=1. Seed and automation git writes keep isolating hooks so this cannot re-block credential seed.