test(ci): L3 golden 权威环境脚本(进 CI 前置准备)

golden 真进 CI 卡两个硬约束:Linux/mac 渲染不一致(mac 基线在 CI 全红)+ 基线绑定
stats-overhaul dirty 工作区。本提交备好权威环境,不裹挟 dirty、不破坏:
- scripts/update-goldens.sh:在 CI 同款镜像 cirruslabs/flutter 重生成 Linux 权威基线
  (开发者改 UI 后用它刷新,而非裸 mac --update-goldens,保持与 CI 一致)
- docs/test-architecture.html:L3 现状更新 + 列明启 CI 硬闸的两个前置条件
- 真启闸需:有 docker 的机器生成并提交 Linux 基线 + dirty 工作区合并(本机无 docker)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-25 12:16:16 +08:00
parent 76dbdcfa83
commit c5223af4a1
2 changed files with 33 additions and 1 deletions
+1 -1
View File
@@ -260,7 +260,7 @@
<li><b>测什么</b>mobile/tablet/desktop × light/dark × zh/en 的渲染一致;以及实现 vs HTML 原型的像素差。</li>
<li><b>工具</b>Flutter golden<code>flutter_test_config.dart</code> 字体锁定→host 无关,所以「每端效果一致」天然成立);design-distill <code>shoot-prototype.mjs</code> + <code>diff.mjs</code>pixelmatch)。</li>
<li><b>量化</b>:像素不一致比例 vs 阈值 <code>0.05</code></li>
<li><b>现状</b><span class="tag t-ok">20+ golden 基准已有</span> <span class="tag t-warn">CI 未接 · pixel 闸未自动化</span></li>
<li><b>现状</b><span class="tag t-ok">20+ golden 基准已有</span> <span class="tag t-warn">权威环境脚本 <code>scripts/update-goldens.sh</code> 已备</span> <span class="tag t-bad">CI 硬闸未启</span>。启用前置:① 有 docker 的机器跑 <code>update-goldens.sh</code> 提交一套 Linux 权威基线(mac 基线在 CI 必全红)② stats-overhaul dirty 工作区合并、基线落定 → 再加 <code>flutter test test/golden</code> CI job 转阻塞</li>
<li><b>可自定义</b>:新增屏 = 加一张基线;阈值按屏可调。</li>
</ul>
</div>