Skip to content

test(ci): restore main qualification gates - #4952

Closed
Duang777 wants to merge 5 commits into
loopx-project:mainfrom
Duang777:codex/fix-node-minimum-baseline
Closed

Duang777 wants to merge 5 commits into
loopx-project:mainfrom
Duang777:codex/fix-node-minimum-baseline

Conversation

@Duang777

@Duang777 Duang777 commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • skip only the SQLite variants of the deferred hard-lease suite when sqliteAuthorityRuntime() rejects the public-minimum runtime
  • retain all File-provider coverage on Node 22 and all SQLite coverage on the qualified runtime
  • refresh the generated project-registry I/O census after history.py line movement from the latest main
  • use the terminal Todo source-witness test already merged through test: exercise terminal Todo source witness on v3 wire #4958 instead of retaining a duplicate branch version

This repairs the remaining Node-minimum baseline failure found while triaging #4944.

Validation

  • Node 22.18.0 focused suite: 4 passed, 4 SQLite cases skipped by the runtime capability check
  • Node 24.16.0 focused suites: 14 passed
  • control-plane TypeScript typecheck: passed
  • project-registry I/O architecture tests: 9 passed
  • generated census check: 224 sites, 0 unclassified direct sites
  • uv run --extra test loopx canary premerge --from-git-diff --git-diff-base origin/main: 19/19 passed
  • git diff --check: passed
  • exact-head CI for 2118611983267191cab8293dd4726b15bdafe3cd: running

Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
@Duang777 Duang777 changed the title test(ci): restore Node minimum qualification test(ci): restore main qualification gates Sep 23, 2026
@Duang777

Copy link
Copy Markdown
Contributor Author

Exact-head validation is complete at 820e88593. Run 35866402195 passed node-minimum-compatibility, kernel-static-checks, all four Python shards, Windows, Dashboard, every Stage 2C lane, aggregate checks, pytest, Sonar, and merge-gate. DCO, dependency review, release build, PostgreSQL integration, and the local diff checks also pass.

The Node 26 forward probe reached its documented non-blocking 20-minute budget and was cancelled; no required check failed. This PR is now waiting only for maintainer review/merge.

@Duang777

Copy link
Copy Markdown
Contributor Author

Exact-head CI is green for 820e885930546527ae618b90460d03a7bff7c1a3.

  • node-minimum-compatibility: passed
  • test-shard (1..4): passed, including the refreshed project-registry I/O census checks
  • kernel-static-checks: passed
  • checks, pytest, and merge-gate: passed
  • node-forward-compatibility: cancelled at its expected 20-minute non-blocking budget

The branch remains unchanged and mergeable. @huangruiteng This is ready for maintainer review and merge.

Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

动机

Node 22.18 是公开最低运行时,但其嵌入式 SQLite 未满足 authority 的 WAL/statement-finalization 准入条件。原 deferred hard-lease 测试无条件运行 SQLite 分支,导致基线 4 个 File 用例通过、4 个 SQLite 用例在建库时失败。此 PR 的完整可用增量是恢复最低版本的 CI 资格,同时保留合格运行时的 SQLite 覆盖;不改变产品默认 provider 或 authority 语义。

改动思路

测试继续复用现有 sqliteAuthorityRuntime() 作为准入权威,只给 SQLite 分支传入 Node test 的 skip 选项;File 分支不受影响。项目 registry I/O manifest 的四处 history.py 行号随主干代码移动同步刷新,没有新增读写站点或第二套状态规则。

具体改动

关键代码讲解

  • sqliteSkipReason() 在测试注册前调用现有运行时资格检查:合格返回 undefined,不合格给出明确跳过原因。
  • provider 循环中的四个 test(..., {skip}, ...) 仅对 sqlite 使用该结果;原有 deferred resume、过期 lease、未认领 Todo 和 supersede 断言仍在实际执行的分支上运行。
  • manifest 只更新 collect_history 等四个站点的定位行号,架构清单校验仍覆盖完整扫描结果。

对主干的风险

没有生产运行时代码变更。主要剩余风险是测试 helper 的宽泛 catch:若资格探针将来因非预期错误抛出,SQLite 用例也可能显示为 skip;建议后续统一这些 helper 时仅捕获预期准入错误,并加一例意外探针失败应使测试失败的回归。本次不把它作为 blocker:同仓已有相同探针模式,且本地在合格 Node 24.21 上 8/8 执行通过、0 skip。Node 22.18 的同一套件在 base 为 4 pass/4 fail,在此 head 为 4 pass/4 显式 skip,File 覆盖未被抑制。安装测试依赖后,registry I/O census 6/6、TS typecheck 和 diff 检查通过;未以远端 CI 状态代替本地证据。

我的整体评价

APPROVE,精确 head 2118611983267191cab8293dd4726b15bdafe3cd。变更范围与基线故障成比例,复用了现有准入权威,没有新增兼容分支、产品状态或默认行为。相关未来向重构评估:目前无需在本 PR 拆出新抽象,宽泛 catch 可在统一测试资格 helper 时收敛。

English verdict: APPROVE - head 2118611 restores Node 22 File qualification (4 pass/4 expected SQLite skips) while qualified Node 24 runs all 8 cases; the focused census and typecheck pass.

…m-baseline

Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
@Duang777

Copy link
Copy Markdown
Contributor Author

The new exact-head Python workflow is blocked by the previous head in the same concurrency group.

@huangruiteng Could you cancel stale run 35890058619 so the approved exact head can start? I do not have permission to cancel runs in the upstream repository.

@huangruiteng

Copy link
Copy Markdown
Collaborator

我直接升下node.js版本吧

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants