test(e2e): 把 saved-view-filter.spec.ts 晋级进 live-e2e allowlist - #3487
Draft
yinlianghui wants to merge 1 commit into
Draft
test(e2e): 把 saved-view-filter.spec.ts 晋级进 live-e2e allowlist#3487yinlianghui wants to merge 1 commit into
yinlianghui wants to merge 1 commit into
Conversation
本地对 pinned live pair(@objectstack/*@17.0.0-rc.2 + showcase@89d2a4eb) 连跑 3 次全绿,再以扩容后的 allowlist 跑一次(5 tests / 4 specs)确认不 干扰既有三个 spec,符合 live-e2e.yml 的晋级政策。 同步修正 spec 顶部已失效的 "NOT yet in the allowlist" 说明。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GTRjn8xBqp75dk7kFupVRt
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3472
PR #3471 新增了
e2e/live/saved-view-filter.spec.ts,但按live-e2e.yml的晋级政策(spec 先证明无 flake 再入门禁)没有加进test:e2e:live:ci。本 PR 完成晋级。前提复核
在
origin/main@d003a8828上确认:e2e/live/saved-view-filter.spec.ts存在(由 fix(core): 已保存视图的 ViewFilterRule[] 在进 $filter 前折成 AST (#3431) #3471 于 main@2a9513d81 落地);package.json的test:e2e:live:ci只含screen-flow.spec.ts action-modal.spec.ts master-detail.spec.ts,确实未包含它。前提成立。
证据run为什么先在本地跑
live-e2e.yml的workflow_dispatch执行的是pnpm test:e2e:live:ci,也就是 allowlist 本身。在 spec 尚未入列时,dispatch 一轮不会跑到它 —— 这条 lane 无法为"入列前"的 spec 产生记录。所以政策要求的"先证明无 flake",第一手证据只能来自本地对同一 pinned pair 的连跑;入列之后再由本 PR 自己的 lane 复核(见末节)。本地栈按
e2e/live/ci/start-backend.sh原样启动,pin 与 CI 完全一致(e2e/live/ci/backend.env):published@objectstack/*@17.0.0-rc.2+ showcase 元数据89d2a4eb3f3b,objectstack dev --seed-admin --fresh;console 走 CI 同款VITE_BASE_PATH=/的vite build+vite preview,/api代理到后端。一处环境偏差,如实记录:本地容器的 egress proxy 拒绝
cdn.playwright.dev(403 request rejected: host not permitted),playwright install chromium无法下载 playwright@1.62.1 对应的 v1234 构建,故本地改用容器预装的/opt/pw-browsers/chromium-1194(Chromium 141)经executablePath覆盖运行。该覆盖写在一个未提交、跑完即删的本地 config 里,分支上没有它。浏览器版本这一处差异已由下面 CI lane 的实跑补齐(CI 用的是 1.62.1 配套的 v1234)。本地连跑 3/3
三次全绿,无重试(
retries: 0),耗时 3.7–4.9s 之间平稳,离 spec 里 20s 的超时很远。扩容后的 allowlist,本地一轮 5/5
只证明新 spec 自己稳定还不够 —— 它进的是一条
workers: 1、fullyParallel: false的串行 lane,与既有 spec 共享同一个后端实例和同一份 seed 数据。所以按扩容后的完整列表又跑了一轮:5 tests / 4 spec files(master-detail 有两个 test)。新 spec 只读不写(打开一个 shipped saved view 断言计数),不改 seed 数据,这一轮印证了它不干扰前面三个。
本 PR 自己的 Live E2E lane:5/5
Live E2E (informational)(job 92584733512)跑的正是扩容后的 allowlist,对 CI 真实后端 + CI 版本 Chromium。日志里的实跑记录:合起来:新 spec 在两套浏览器、两套后端实例上共 5 次连续全绿,无一次重试。
复核提示:这条 lane 是
continue-on-error: true,job 的 conclusion 恒为success,哪怕步骤是红的 —— 所以上面这段是从 job 日志里取的逐条结果,不是拿 check 的绿勾当证据。(本次 job 只跑了 111 秒,是因为 backend fixture、Playwright 浏览器、pnpm store 三个 cache 全部命中。)改动
package.json:test:e2e:live:ci末尾追加saved-view-filter.spec.ts,格式与既有项一致(裸文件名、空格分隔)。e2e/live/saved-view-filter.spec.ts:仅改注释。原文档块写着 "NOT yet in thetest:e2e:live:ciallowlist... Promote it in a follow-up",本 PR 之后这句话就是错的,替换为晋级记录。无逻辑改动。无 changeset:纯测试/CI 配置,不面向用户(沿用 #3437 的先例)。未触碰
.github/workflows/。顺手记录的 out-of-scope 发现
#3488(observation-class,未修):allowlist 的 spec 名单被逐名手抄在
.github/workflows/live-e2e.yml头部注释和content/docs/guide/ci-cd-pipeline.md:233两处,本 PR 合并后这两处都会漏掉saved-view-filter。两个文件都在本单的 file fence 之外,故只记录不改。