feat(ci): add make pre-pr target and fixture staleness check
Implements make pre-pr chain: lint -> build -> test -> content validation -> fixture staleness. Branch-specific variants: pre-pr-server, pre-pr-client, pre-pr-content. Fixture staleness is a blocker (exit 1) — stale fixtures cause false positive client tests. Spec from hoshe-round3.md Section 5. Tickets: #460, #465 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -89,6 +89,34 @@ make ci-client # lint-client → build-client → test-client
|
||||
|
||||
CI targets chain lint → build → test sequentially. A failure in any stage stops the pipeline.
|
||||
|
||||
### Pre-PR Checks
|
||||
|
||||
Before pushing a PR, run:
|
||||
|
||||
```bash
|
||||
make pre-pr
|
||||
```
|
||||
|
||||
This runs all checks in order: lint → build → test → content validation → fixture staleness. Total runtime ~2.5 minutes (incremental build), under 3 minutes clean.
|
||||
|
||||
For branch-specific checks:
|
||||
|
||||
```bash
|
||||
make pre-pr-server # Server changes: lint, build, test, fixture staleness
|
||||
make pre-pr-client # Client changes: lint, build, test
|
||||
make pre-pr-content # Content changes: schema + cross-reference validation
|
||||
```
|
||||
|
||||
If `pre-pr-fixtures` fails, your protocol changes require fixture regeneration:
|
||||
|
||||
```bash
|
||||
make fixtures
|
||||
git add client/tests/fixtures/
|
||||
git commit -m "chore(fixtures): regenerate for protocol vN"
|
||||
```
|
||||
|
||||
The fixture staleness check is a **blocker** (exit 1) — stale fixtures cause false positive client tests.
|
||||
|
||||
### Clean
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user