mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 04:38:55 +00:00
docs: extend the freshness contract to smokes
Validate / docs (push) Failing after 24s
Validate / reuse (push) Successful in 48s
Validate / process-gate (push) Failing after 1m22s
Validate / provenance (push) Successful in 1m22s
Validate / changes (push) Successful in 1m18s
Validate / hacs (push) Failing after 16s
Validate / hassfest (push) Failing after 23s
Validate / frontend (push) Successful in 4m39s
Validate / backend (push) Failing after 7m35s
Validate / golden (push) Failing after 10m17s
Validate / performance_smoke (push) Failing after 11m19s
Validate / smoke (push) Failing after 23m53s
Validate / docs (push) Failing after 24s
Validate / reuse (push) Successful in 48s
Validate / process-gate (push) Failing after 1m22s
Validate / provenance (push) Successful in 1m22s
Validate / changes (push) Successful in 1m18s
Validate / hacs (push) Failing after 16s
Validate / hassfest (push) Failing after 23s
Validate / frontend (push) Successful in 4m39s
Validate / backend (push) Failing after 7m35s
Validate / golden (push) Failing after 10m17s
Validate / performance_smoke (push) Failing after 11m19s
Validate / smoke (push) Failing after 23m53s
The contract named benchmark and golden tooling, which is exactly why the smoke launcher was allowed to skip the check for so long. It now covers every browser check, names where each one gets it, and records why a stale bundle is worse than a plain failure: part of the assertions go red and part stay green. Issue: #236 User-Visible: no
This commit is contained in:
@@ -358,9 +358,13 @@ complete Linux CI artifact; never accept a partial scenario or images merely to
|
||||
CI green. See `demo/golden/README.md`.
|
||||
|
||||
**Freshness contract**: the embedded fingerprint covers `src/` plus Rollup,
|
||||
TypeScript and package-lock build inputs. Benchmark and golden tooling must call
|
||||
`assertFreshDemoBundle` before recording any result; a missing or mismatched
|
||||
fingerprint is a hard failure, not a warning.
|
||||
TypeScript and package-lock build inputs. Every browser check must verify it
|
||||
before trusting a result — benchmarks, golden runs and documentation captures
|
||||
call `assertFreshDemoBundle` themselves, and smokes get it from `launch()` in
|
||||
`demo/serve.mjs` (#236). A missing or mismatched fingerprint is a hard failure,
|
||||
not a warning; `HP_ALLOW_STALE_BUNDLE=1` skips the check for debugging and says
|
||||
so out loud. A smoke against a stale bundle does not fail cleanly: part of its
|
||||
assertions go red and part stay green, which reads as a logic defect.
|
||||
|
||||
**CI is pinned to an exact SHA.** The release gate accepts only a `completed
|
||||
success` run for the candidate's SHA, not "the last green one"; a new push cancels
|
||||
|
||||
Reference in New Issue
Block a user