diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5973e2d..48fbb09 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -143,3 +143,20 @@ jobs: -v "$PWD:/repo" -w /repo \ golang:1.25 \ bash -c "apt-get update -qq && apt-get install -y -qq openssl curl python3 >/dev/null 2>&1 && bash scripts/e2e-smoke.sh" + + # ── Job 9: Golden 视觉回归 (L3 子集:components + auth)────────────────── + # Linux 权威基线(scripts/update-goldens.sh 生成;mac 渲染不一致故钉死 Linux 容器)。 + # tablet/desktop-stats golden 与 stats-overhaul 工作区耦合,待其合并后并入本 job。 + golden: + name: Golden — 视觉回归 (components + auth) + runs-on: nas + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: flutter test golden (Linux 权威基线) + run: | + docker run --rm \ + -v "$PWD/client:/app" -w /app \ + ghcr.io/cirruslabs/flutter:stable \ + bash -c "flutter pub get && flutter test test/golden/components_golden_test.dart test/golden/auth_redesign_golden_test.dart" diff --git a/client/test/golden/goldens/auth_login_dark.png b/client/test/golden/goldens/auth_login_dark.png index 8dad576..0eabcf5 100644 Binary files a/client/test/golden/goldens/auth_login_dark.png and b/client/test/golden/goldens/auth_login_dark.png differ diff --git a/client/test/golden/goldens/auth_login_light.png b/client/test/golden/goldens/auth_login_light.png index 78b6d95..c2c6c8d 100644 Binary files a/client/test/golden/goldens/auth_login_light.png and b/client/test/golden/goldens/auth_login_light.png differ diff --git a/client/test/golden/goldens/connect_connecting_dark.png b/client/test/golden/goldens/connect_connecting_dark.png index dcc6bca..373b3a9 100644 Binary files a/client/test/golden/goldens/connect_connecting_dark.png and b/client/test/golden/goldens/connect_connecting_dark.png differ diff --git a/client/test/golden/goldens/connect_connecting_light.png b/client/test/golden/goldens/connect_connecting_light.png index 0087cb9..05d7730 100644 Binary files a/client/test/golden/goldens/connect_connecting_light.png and b/client/test/golden/goldens/connect_connecting_light.png differ diff --git a/client/test/golden/goldens/connect_off_dark.png b/client/test/golden/goldens/connect_off_dark.png index 52f6002..23877ad 100644 Binary files a/client/test/golden/goldens/connect_off_dark.png and b/client/test/golden/goldens/connect_off_dark.png differ diff --git a/client/test/golden/goldens/connect_off_light.png b/client/test/golden/goldens/connect_off_light.png index c248e86..d2dba96 100644 Binary files a/client/test/golden/goldens/connect_off_light.png and b/client/test/golden/goldens/connect_off_light.png differ diff --git a/client/test/golden/goldens/connect_on_dark.png b/client/test/golden/goldens/connect_on_dark.png index af66fd6..9047bd6 100644 Binary files a/client/test/golden/goldens/connect_on_dark.png and b/client/test/golden/goldens/connect_on_dark.png differ diff --git a/client/test/golden/goldens/connect_on_light.png b/client/test/golden/goldens/connect_on_light.png index 6541a37..c806383 100644 Binary files a/client/test/golden/goldens/connect_on_light.png and b/client/test/golden/goldens/connect_on_light.png differ diff --git a/client/test/golden/goldens/quota_low_dark.png b/client/test/golden/goldens/quota_low_dark.png index 4dd0255..2130fc2 100644 Binary files a/client/test/golden/goldens/quota_low_dark.png and b/client/test/golden/goldens/quota_low_dark.png differ diff --git a/client/test/golden/goldens/quota_low_light.png b/client/test/golden/goldens/quota_low_light.png index 995a65f..81df106 100644 Binary files a/client/test/golden/goldens/quota_low_light.png and b/client/test/golden/goldens/quota_low_light.png differ diff --git a/client/test/golden/goldens/quota_unlocked_dark.png b/client/test/golden/goldens/quota_unlocked_dark.png index 444c978..27195d7 100644 Binary files a/client/test/golden/goldens/quota_unlocked_dark.png and b/client/test/golden/goldens/quota_unlocked_dark.png differ diff --git a/client/test/golden/goldens/quota_unlocked_light.png b/client/test/golden/goldens/quota_unlocked_light.png index d5003da..12e8089 100644 Binary files a/client/test/golden/goldens/quota_unlocked_light.png and b/client/test/golden/goldens/quota_unlocked_light.png differ diff --git a/client/test/golden/goldens/smart_card_dark.png b/client/test/golden/goldens/smart_card_dark.png index 22cadd9..3c7b425 100644 Binary files a/client/test/golden/goldens/smart_card_dark.png and b/client/test/golden/goldens/smart_card_dark.png differ diff --git a/client/test/golden/goldens/smart_card_light.png b/client/test/golden/goldens/smart_card_light.png index 2624b30..9a7b708 100644 Binary files a/client/test/golden/goldens/smart_card_light.png and b/client/test/golden/goldens/smart_card_light.png differ diff --git a/docs/test-architecture.html b/docs/test-architecture.html index 0f66023..244b4df 100644 --- a/docs/test-architecture.html +++ b/docs/test-architecture.html @@ -260,7 +260,7 @@
  • 测什么:mobile/tablet/desktop × light/dark × zh/en 的渲染一致;以及实现 vs HTML 原型的像素差。
  • 工具:Flutter golden(flutter_test_config.dart 字体锁定→host 无关,所以「每端效果一致」天然成立);design-distill shoot-prototype.mjs + diff.mjs(pixelmatch)。
  • 量化:像素不一致比例 vs 阈值 0.05
  • -
  • 现状20+ golden 基准已有 权威环境脚本 scripts/update-goldens.sh 已备 CI 硬闸未启。启用前置:① 有 docker 的机器跑 update-goldens.sh 提交一套 Linux 权威基线(mac 基线在 CI 必全红)② stats-overhaul dirty 工作区合并、基线落定 → 再加 flutter test test/golden CI job 转阻塞。
  • +
  • 现状已进 CI(子集) components + auth golden 跑 Linux 权威基线、CI job golden 阻塞守门;权威环境脚本 scripts/update-goldens.shtablet/desktop-stats golden 待并入——它们与 stats-overhaul dirty 工作区耦合(基线/测试/被测 widget 同在 dirty),待其合并后跑 update-goldens.sh 生成 Linux 基线并加进 golden job。
  • 可自定义:新增屏 = 加一张基线;阈值按屏可调。