From fc566f14d50ac19cfe02f5f0375a168699a91c99 Mon Sep 17 00:00:00 2001 From: Harvey Zhao Date: Mon, 14 Sep 2026 19:13:41 +0800 Subject: [PATCH] test(ci): [CI-01] record complete installed five-package regression --- .../ci-installed-full-validation.json | 499 ++++++++++++++++++ .../2026-09-14-CI-01-installed-full.md | 29 + refactor/plan.md | 2 +- refactor/progress.md | 11 + refactor/tasks.json | 4 +- scripts/browser-validation/README.md | 5 + 6 files changed, 548 insertions(+), 2 deletions(-) create mode 100644 refactor/baselines/ci-installed-full-validation.json create mode 100644 refactor/changes/2026-09-14-CI-01-installed-full.md diff --git a/refactor/baselines/ci-installed-full-validation.json b/refactor/baselines/ci-installed-full-validation.json new file mode 100644 index 000000000..284fd3785 --- /dev/null +++ b/refactor/baselines/ci-installed-full-validation.json @@ -0,0 +1,499 @@ +{ + "task": "CI-01", + "status": "doing", + "sourceHead": "37ebb7a034c0b1723ce7839f875cb6b110a88b3b", + "environment": { + "node": "24.21.0", + "yarn": "1.22.22", + "platform": "win32", + "browsers": { + "chromium": "153.0.8010.12", + "firefox": "155.0", + "webkit": "26.6" + }, + "remoteCI": false, + "physicalDevices": false + }, + "directory": "refactor/.cache/ci-installed-five-package-full-report", + "reportSha256": "7aaa5bf85029ffe84653abc938f33606d725109f24633969d98b9ddbae8a782f", + "result": { + "scope": "installed", + "exitCode": 0, + "signal": null, + "args": [ + "test", + "--config=playwright.installed.config.js", + "--workers=2" + ] + }, + "stats": { + "startTime": "2026-09-14T11:09:14.031Z", + "duration": 199505.321, + "expected": 255, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "inputPackages": [ + { + "name": "artplayer", + "member": "package/dist/artplayer.js", + "sha256": "9148a369636f814b03e6a1ed2a7db222a31b159f93e8a94d52c5a9dde2dfe6a6", + "archiveSha256": "60edd42a29e939632568851018cf0e230eb60fb54a2597c0877d496795bbcc6e" + }, + { + "name": "artplayer-plugin-chapter", + "member": "package/dist/artplayer-plugin-chapter.js", + "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", + "archiveSha256": "784c581410185908ea66aadaf06336970117e06f16dd4c66a618b196bfaba698" + }, + { + "name": "artplayer-plugin-ambilight", + "member": "package/dist/artplayer-plugin-ambilight.js", + "sha256": "21ee5227f26cfff6e82ee6932f6eafc9741fa3be0ec2f5252a47b53ceea14599", + "archiveSha256": "7e88a0c9a643612f54e1674c1406c2bb7d18b1dd1f6fc05e7f49749301b310f3" + }, + { + "name": "artplayer-proxy-canvas", + "member": "package/dist/artplayer-proxy-canvas.js", + "sha256": "f572ea536107b7823452c5a99447b69e9226a3582c79dda95a4248cca819ec18", + "archiveSha256": "074e51779de545d46f234e2052e05de63c0f1189c031b08c0b23702b6ceb5325" + }, + { + "name": "artplayer-plugin-document-pip", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "5caf75a1de5af1b19a133be6d35e3573b25783ae376d15af3846cef392f17b7c" + } + ], + "groups": [ + { + "engine": "chromium", + "file": "ambilight-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2687 + }, + { + "engine": "firefox", + "file": "ambilight-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6946 + }, + { + "engine": "webkit", + "file": "ambilight-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 54876 + }, + { + "engine": "chromium", + "file": "ambilight-proxy.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1280 + }, + { + "engine": "firefox", + "file": "ambilight-proxy.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2674 + }, + { + "engine": "webkit", + "file": "ambilight-proxy.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 14024 + }, + { + "engine": "chromium", + "file": "canvas-dpip.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5508 + }, + { + "engine": "firefox", + "file": "canvas-dpip.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 10210 + }, + { + "engine": "webkit", + "file": "canvas-dpip.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2241 + }, + { + "engine": "chromium", + "file": "canvas-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3313 + }, + { + "engine": "firefox", + "file": "canvas-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6976 + }, + { + "engine": "webkit", + "file": "canvas-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 14718 + }, + { + "engine": "chromium", + "file": "canvas-subtitles.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 997 + }, + { + "engine": "firefox", + "file": "canvas-subtitles.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2289 + }, + { + "engine": "webkit", + "file": "canvas-subtitles.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6655 + }, + { + "engine": "chromium", + "file": "chapter-combinations.spec.js", + "expected": 20, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 25688 + }, + { + "engine": "firefox", + "file": "chapter-combinations.spec.js", + "expected": 20, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 33115 + }, + { + "engine": "webkit", + "file": "chapter-combinations.spec.js", + "expected": 20, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 91022 + }, + { + "engine": "chromium", + "file": "chapter-hover.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3401 + }, + { + "engine": "firefox", + "file": "chapter-hover.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3874 + }, + { + "engine": "webkit", + "file": "chapter-hover.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 7294 + }, + { + "engine": "chromium", + "file": "chapter.spec.js", + "expected": 14, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3702 + }, + { + "engine": "firefox", + "file": "chapter.spec.js", + "expected": 14, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 11185 + }, + { + "engine": "webkit", + "file": "chapter.spec.js", + "expected": 14, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 20264 + }, + { + "engine": "chromium", + "file": "initialization.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1880 + }, + { + "engine": "firefox", + "file": "initialization.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5963 + }, + { + "engine": "webkit", + "file": "initialization.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5534 + }, + { + "engine": "chromium", + "file": "lifecycle.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1642 + }, + { + "engine": "firefox", + "file": "lifecycle.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6150 + }, + { + "engine": "webkit", + "file": "lifecycle.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5320 + }, + { + "engine": "chromium", + "file": "playback.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3605 + }, + { + "engine": "firefox", + "file": "playback.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5081 + }, + { + "engine": "webkit", + "file": "playback.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 10708 + } + ], + "capabilities": [ + { + "core": "published", + "ending": "close", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "native-close", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "destroy", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "close", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "native-close", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "destroy", + "engine": "chromium", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "close", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "native-close", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "destroy", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "close", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "native-close", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "candidate", + "ending": "destroy", + "engine": "firefox", + "outcome": "native-window-playback-subtitles-and-cleanup" + }, + { + "core": "published", + "ending": "close", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + }, + { + "core": "published", + "ending": "native-close", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + }, + { + "core": "published", + "ending": "destroy", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + }, + { + "core": "candidate", + "ending": "close", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + }, + { + "core": "candidate", + "ending": "native-close", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + }, + { + "core": "candidate", + "ending": "destroy", + "engine": "webkit", + "outcome": "native-document-pip-unavailable" + } + ], + "failures": [], + "suiteErrors": [], + "previous": { + "directory": "refactor/.cache/ci-browser-installed-full-report", + "reportSha256": "b3220ff7b8e29b796f428b0295507fe22ad9033ad9f5627898d6ee0d33cb3011", + "stats": { + "startTime": "2026-09-14T10:00:23.507Z", + "duration": 161182.12099999998, + "expected": 224, + "skipped": 0, + "unexpected": 1, + "flaky": 0 + }, + "scope": "Earlier four-package 225-case run retained with its original Chromium chapter hover failure." + }, + "limitations": [ + "This is the complete current installed subset, not all 22 ecosystem packages.", + "Source suite, actual Actions OS matrix and physical devices are not executed by this run.", + "WebKit Document PiP returns are unsupported capability records, not native playback successes.", + "Installed main format only in this complete run; targeted main and legacy combinations retain separate evidence." + ] +} diff --git a/refactor/changes/2026-09-14-CI-01-installed-full.md b/refactor/changes/2026-09-14-CI-01-installed-full.md new file mode 100644 index 000000000..3a770b42e --- /dev/null +++ b/refactor/changes/2026-09-14-CI-01-installed-full.md @@ -0,0 +1,29 @@ +# CI-01 当前五包安装范围完整回归 + +基于 37ebb7a034c0b1723ce7839f875cb6b110a88b3b,使用固定 Node 24.21.0、 +Yarn 1.22.22 和已经隔离构建、打包、安装并核验摘要的 run-z8nBqx 五包 main。 +执行 `yarn test:browser:installed --workers=2`,没有文件、项目或 grep 过滤。 +这是当前 installed 子集的完整运行,不是整个仓库 source 测试或全部22包验收。 + +## 结果及对照 + +255项成功退出,0失败、0跳过、0重试,Playwright耗时199.505秒,Yarn总耗时 +200.52秒。11文件各在 Chromium 153.0.8010.12、Firefox 155.0、WebKit 26.6 +运行,覆盖核心生命周期、章节/缩略图/全屏交互、Ambilight与Canvas,以及 +Canvas字幕和原生Document PiP组合。实际运行在Windows桌面引擎中。 + +Canvas原生画中画共有12项窗口播放通过,另6项WebKit返回明确的API不可用记录。 +这6项虽成功退出测试函数,不能计为原生画中画支持。完整证据逐文件、逐引擎统计, +记录安装输入与tarball摘要、实际子进程退出码、浏览器版本和能力分支: +[ci-installed-full-validation.json](../baselines/ci-installed-full-validation.json)。 + +原四包225项报告保留原样(224通过/1章节全屏悬停失败)。本次扩展后的完整运行 +通过,结合独立的PKG-CHAPTER-HOVER-01旧红新绿证据,补足先前只有定向复测的 +完整子集回归;不把原失败报告改写成成功,也不声称复现了原运行的精确调度。 + +## 后续范围 + +CI-01继续doing。仍需完整source耗时/失败调查、其他包安装范围、实际Actions +系统矩阵与远端验收。此轮只跑main;此前Canvas/PiP/章节定向legacy证据仍独立 +保存,不能据此称完整legacy子集通过。没有修改运行时、依赖、超时或断言。 +没有push、部署或发布;本次仅提交完整回归的可追溯证据与状态文档。 diff --git a/refactor/plan.md b/refactor/plan.md index da4328357..bc18cf736 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -500,7 +500,7 @@ - ENG-09: [记录](changes/2026-09-12-ENG-09-integration.md) [记录](baselines/engineering-integration.json) - ENG-10: [记录](changes/2026-09-10-ENG-10-test-reliability.md) [记录](test-reliability.md) - ENG-11: [记录](build-analysis.md) [记录](baselines/bundle-attribution.json) [记录](changes/2026-09-11-ENG-11-build-analysis.md) -- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) +- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) [记录](changes/2026-09-14-CI-01-installed-full.md) [记录](baselines/ci-installed-full-validation.json) - CI-02: [记录](changes/2026-09-14-CI-02-pages-artifact.md) [记录](baselines/pages-artifact-validation.json) [记录](pages-deployment.md) - PILOT-01: [记录](changes/2026-09-10-PILOT-01-chapter.md) [记录](baselines/pilot-validation.json) - CORE-01: [记录](changes/2026-09-10-CORE-01-typed-utils.md) [记录](baselines/core-utils-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index e04064c7d..bcffe92ec 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,16 @@ # 进度与证据 +## CI-01 五包安装范围完整回归检查点 + +HEAD 37ebb7a03 上执行无文件/项目过滤的 installed suite,双worker三引擎, +255项成功退出、0失败/跳过/重试,199.505秒。11文件覆盖当前五包范围,之前 +章节全屏悬停失败没有再现。12项Canvas原生PiP播放通过,另6项WebKit仅记录 +API不可用,不能混称播放通过。原225项中的失败报告保留,main安装输入摘要 +和逐引擎/文件计数见[证据](baselines/ci-installed-full-validation.json)及 +[变更](changes/2026-09-14-CI-01-installed-full.md)。CI-01保持doing;完整source、 +其他包安装、完整legacy、远端Actions和真机仍未验收。259项状态不变:190 done、 +20 doing、49 todo。没有生产源码/依赖修改,也没有push、部署或发布。 + ## PKG-CANVAS-05 原生 PiP 与五包安装检查点(仍 doing) 源码首轮18项:Chromium/Firefox实际原生窗口12通过,WebKit仅6项API不可用记录。 diff --git a/refactor/tasks.json b/refactor/tasks.json index 03adaae29..0a326c454 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -758,7 +758,9 @@ "changes/2026-09-13-CI-01-matrix-summary.md", "baselines/ci-matrix-validation.json", "changes/2026-09-13-CI-01-node-consumers.md", - "baselines/node-consumer-validation.json" + "baselines/node-consumer-validation.json", + "changes/2026-09-14-CI-01-installed-full.md", + "baselines/ci-installed-full-validation.json" ] }, { diff --git a/scripts/browser-validation/README.md b/scripts/browser-validation/README.md index 4161e8b69..e239ab06e 100644 --- a/scripts/browser-validation/README.md +++ b/scripts/browser-validation/README.md @@ -25,6 +25,11 @@ local reports before rerunning the same scope. Invocation JSON records arguments and artifact identity; result JSON records the child's actual exit. Preflight errors occur before starting Playwright and remain in the terminal/CI tee log. Listing tests with `--list` is collection evidence only, not playback validation. +The complete five-package installed main subset was run on Windows with two +workers: 255 successful cases across 11 files and three engines, including six +unsupported WebKit Document PiP capability records. See +`../../refactor/baselines/ci-installed-full-validation.json` for the exact inputs, +per-engine/file counts and limitations; this is not full ecosystem or remote CI. Local `--grep`, file names, workers and project options are supported for diagnosis; config/output/report overrides and passing with zero tests are rejected.