ci: 三条 live e2e 以 non-required lane 进 CI——真后端来自已发布的 rc.2 制品 (#2835) - #3325
Merged
Conversation
…nd (#2835) - New non-required informational lane (.github/workflows/live-e2e.yml): objectstack dev booted from published @objectstack/*@17.0.0-rc.2 (pins in e2e/live/ci/backend.env, matched to pnpm-lock.yaml's @objectstack/spec), showcase metadata sparse-checked-out at the release-tag commit, console served as a production build via vite preview. Allowlist: screen-flow, action-modal, master-detail (root script test:e2e:live:ci). - Remove ci.yml's stale dev-server job (apps/dev-server left the tree; the filter matched nothing and the job was green by vacuity). - Re-enable DashboardRenderer.designMode (skipped since 2026-05-01 as TODO(#ci-hang)) — passes standalone and in the full root run on today's dependency tree; scope check mandated by the #2835 ruling. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NVPjPzmmAJ2Ngtvgg5MSRa
…alone green, PR shards gate the full run Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NVPjPzmmAJ2Ngtvgg5MSRa
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
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 #2835
做了什么
e2e/live/**的 20+ 条 Playwright spec 覆盖行操作、弹窗、主从、screen flow 等交互关键路径,但 CI 从不运行它们——framework#3528(懒加载 suspension 拆掉宿主 dialog,只有真浏览器+真后端能复现)就是这么漏出去的。本 PR 按 #2835 维护者裁决(含 2026-08-03 追加裁决)给 CI 一个真后端,并以 non-required 信息性 lane + 三条 allowlist 起步。1. 新 workflow
.github/workflows/live-e2e.yml(信息性,不阻塞合并)objectstack dev --seed-admin --fresh,依赖全部来自 npm 上已发布的@objectstack/*@17.0.0-rc.2(与本仓pnpm-lock.yaml解析的@objectstack/spec版本配对,避免测错配组合);showcase 元数据从 framework 仓 release tag@objectstack/cli@17.0.0-rc.2指向的 commit(89d2a4eb)稀疏检出。零源码构建——每个 PR 都在跑一次「本 console × 已发布 rc.2 后端」的集成冒烟。pin 集中在e2e/live/ci/backend.env,与 framework 仓.objectui-sha的 console vendoring 互为镜像。vite preview(VITE_BASE_PATH=/使 SPA fallback 对深链接可用;preview.proxy继承server.proxy,代理链路已本地实测)。screen-flow/action-modal/master-detail(根脚本test:e2e:live:ci)。扩量方式:逐条证明稳定后加进该脚本,不要一次放开 20+ 条继承存量 flake。continue-on-error: true——失败不置红 workflow run,因此既不进合并门槛,也不会因 AGENTS.md「全绿才合」惯例事实上阻塞并行 agent(objectstack#4850 前科:新 lane 的 flake 把无关 PR 逐出合并队列)。失败仍可见:红 step +live-e2e-artifacts(Playwright report + 后端/preview 日志)+ job summary。另挂 nightly schedule 在 main 上积累稳定性记录,作为将来转 required 的依据。2. 删除 stale 的
dev-serverjob(ci.yml)apps/dev-server早已不在树中(apps/console/README.md明确记录已移除),pnpm --filter @object-ui/dev-server build匹配不到任何包、静默退出 0——该 job 长期「空转绿」。按裁决直接删除,其守护意图由本 lane 接替(且换成了真后端)。3. 为什么动了
packages/plugin-dashboard的 designMode 测试这不在「live e2e 进 CI」的直观落点里,但在裁决明文范围内:#2835 裁决评论将
DashboardRenderer.designMode的describe.skip(TODO(#ci-hang),2026-05-01 至今)「纳入同一波清理的范围核查」——它和本单是同一类病:存在于磁盘、保护着零的测试。核查结果:在今日依赖树(spec 17.0.0-rc.2)上单跑 24/24 全过、8.31s、无挂起;当年的挂起归因于传递依赖,依赖树已整体换代。予以解禁;本 PR 自己的 4 个 sharded Test job(required)就是全量语境的把关——若复发,失败签名是 Test job 撞timeout-minutes,红在本 PR 上而非 main,届时回退 skip 并按注释里的指引 bisect。验证
本地验证被容器两次重启打断(PM 已裁定 push-first);完成的轮次与实测输出如下,未凑够的以本 PR 的 live-e2e lane 实跑为准——这个 workflow 本身就是对自己的验证。
start-backend.sh,本地)[live-backend] ready: seeded sign-in answered on :4210;POST /api/v1/auth/sign-in/email→ 200VITE_BASE_PATH=/)✓ built in 15.68spnpm exec vitest run …designMode.test.tsx)Test Files 1 passed / Tests 24 passed,8.31s影响面与共享文件
package.json:新增脚本test:e2e:live:ci(一行)。.github/workflows/ci.yml:仅删除dev-serverjob。content/docs/releases/。后续(不在本 PR)
@objectstackpin 的同一 PR 里同步 bumpe2e/live/ci/backend.env(两个 pin 必须同 PR 走,理由见 backend.env 头注)。🤖 Generated with Claude Code
https://claude.ai/code/session_01NVPjPzmmAJ2Ngtvgg5MSRa
Generated by Claude Code