feat: orchestrate blocking frontend quality gates
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# CI quality-gate orchestration
|
||||
|
||||
`config/ci/gates.json` is the executable registry for all 26 gates. The Gitea
|
||||
adapter runs each gate as an independent matrix check with full fan-out and no
|
||||
soft-fail wiring.
|
||||
|
||||
The dependency graph is:
|
||||
|
||||
```text
|
||||
MERGE_READY
|
||||
-> RELEASE_READY
|
||||
-> PROD_PROMOTION_READY
|
||||
-> FIELD_SLO_READY
|
||||
|
||||
DOCUMENTATION_READY (off-chain)
|
||||
```
|
||||
|
||||
Pull requests and `develop` pushes evaluate merge readiness. Version tags
|
||||
evaluate merge then release readiness. Production and field evaluation require
|
||||
an explicit workflow dispatch. The field tier cannot pass until the 28-day
|
||||
sample threshold decision is recorded. Documentation readiness cannot pass
|
||||
until both scoped diagrams have a recorded reviewer threshold and signed
|
||||
scores.
|
||||
|
||||
All jobs upload the shared `artifacts/` tree even after failure. Numeric
|
||||
retention remains an organization/provider decision; the workflow intentionally
|
||||
does not invent `retention-days`. The relative minimums are recorded in the
|
||||
registry: merge evidence through the PR decision, coherent release evidence
|
||||
through the next release promotion, drill evidence through the next production
|
||||
promotion, and field evidence through aggregation.
|
||||
|
||||
Repository variables required by higher tiers:
|
||||
|
||||
- `HOSTING_BASE_URL` for live header verification
|
||||
- `FIELD_WEB_VITALS_INPUT` for the privacy-approved field sample document
|
||||
- `MIN_ELIGIBLE_SAMPLES` after the baseline decision
|
||||
|
||||
Branch protection must mark each `FE-GATE-* / <name>` check required for its
|
||||
declared tier. This repository cannot configure server-side protection by
|
||||
committing a file.
|
||||
Reference in New Issue
Block a user