Commit 70d71b1
feat: CI target architecture — sharded, budgeted, path-filtered, SHA-pinned (goal 0024)
The do-it-once pipeline from the deep-research pass (ADR-0034's
Update section carries the adopted budgets):
- changes job (dorny/paths-filter, SHA-pinned, some-with-excludes):
docs-only PRs skip the heavy tail via job-level if: — skipped jobs
REPORT success, so a required check can never hang at Expected
(the exact footgun that deferred path filtering in ADR-0034,
un-deferred with the mechanical reason).
- e2e: 3-shard matrix, workers:1 per Playwright's own CI guidance —
the fix for the 14-failure contention incident. build-go:
fail-fast:false (both platform legs always report).
- timeout-minutes on every job (~3x measured baselines; the 6-hour
platform default was the alternative); ≤7min target / 10min DORA
ceiling; 3-consecutive-breach escalation + retry-quarantine policy
recorded in the ADR.
- ci-gate aggregator (if: always(), needs everything, skipped=pass):
the future ruleset's single required check, decoupled from
job-name churn. dependency-review job (PR-only).
- Every third-party action across ci.yml/release.yml/seed-liveness.yml
pinned to a verified full commit SHA (the tj-actions supply-chain
incident is the precedent); workflow-level permissions:
contents: read; .github/dependabot.yml (weekly, grouped
minor+patch, capped — no PR sprawl); .github/CODEOWNERS on
.github/; README CI badge.
Note: docs/SPEC.md here also carries goal 0025's one-line §3.7
rollback-semantics note (both waves landed together; single file,
two same-session hunks).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FYwojT8GdUbYSoggbvEFft1 parent efafda6 commit 70d71b1
10 files changed
Lines changed: 388 additions & 59 deletions
File tree
- .github
- workflows
- docs
- adr
- goals
- frontend
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
0 commit comments