修复 Gitea CI 镜像构建并刷新到 1.98.1 工具链 #438

Merged
kdletters merged 7 commits from codex/refresh-gitea-ci-job-image-20260921 into master 2026-09-21 06:15:58 +08:00
Member

修复 CI job 镜像无法构建的问题,并换用 Rust 1.98.1 工具链镜像,跑通 PR 门禁。

修复 CI job 镜像无法构建的问题,并换用 Rust 1.98.1 工具链镜像,跑通 PR 门禁。
kdletters force-pushed codex/refresh-gitea-ci-job-image-20260921 from d32d4be63e to efe2d05028 2026-09-21 01:09:27 +08:00 Compare
kdletters added 6 commits 2026-09-21 03:23:50 +08:00
- 将 AGC 本地路径依赖的 cocos/unity/godot 编辑器 bridge crate 纳入镜像构建上下文与 dockerignore,修复 cargo fetch --locked 找不到 cocos-editor-bridge 导致的镜像构建失败
- 将 Chrome pin 由已下架的 150.0.7871.181-1 更新为当前 stable 153.0.8010.52-1
- 固定 Node/npm 解析:用绝对路径 wrapper 覆盖 base 镜像的 /opt/acttoolcache bin,避免 npm ci 的 node_modules/.bin 与 toolcache 影子化固定工具链
- 为镜像预热的 npm ci 增加最多 5 次整命令级有界重试,处理 registry ECONNRESET
- 镜像 tag 与 LABEL 升为 20260920.2,并同步 deploy/container/README.md 与开发运维文档
- 在 scripts/project-ci-workflow.test.ts 中钉住 bridge crate 构建上下文与固定工具链 wrapper
- tests/mod.rs 的 wait_for_agent_runtime_idle 原先只轮询 status 且最多等 5 秒,超时后静默返回半成品状态,高负载 CI 下会读到 running 而被调用方断言判红
- 按既有 fence 口径改为等待「状态离开 running 且 Agent lane 锁可获取」,并在释放后二次读取确认,避免状态与 lane 之间的窗口
- 将终态等待统一为 AGENT_RUNTIME_TERMINAL_WAIT_BUDGET(60 秒),同步替换两个 async 终态 helper 的 10 秒预算
- 超时改为带诊断 panic,输出最后 status/phase/run,不再把中间态当终态返回
- 非终态用途的 wait_for_captured_mock_request 与 mock listener accept 预算保持 10 秒不变
- tests/mod.rs 新增 assert_observation_status,断言失败时输出 tool/status/summary/detail
- command_runtime.rs 中 6 处 observation.status 断言改用该 helper,替换只输出 left/right 的裸 assert_eq
- 目的:CI 上命令类用例失败时能直接看到真实 observation,而不是仅剩状态值差异
- process_session_real_pty_eof_reaches_terminal 原先无条件要求 close stdin 成功,PTY 在高负载下先自然 EOF 并退出时会被误判为失败
- 改为仅在会话未终止时要求 close 成功;已进入终态时保留 exited 与 EOF 输出断言,不削弱验证目标
- run-rust-shell-test-shards.mjs 在分片失败后解析失败用例名,仅对这组用例在新进程内复核一次
- 复核通过按 flaky 明确记录并通过,复核仍失败则保留失败并标注 re-run 结果,避免洗掉真实回归
- 解析兼容 runner 输出的 [rust-shards] 前缀与 panic 头格式,已用一次性探针 crate 端到端验证重跑路径
恢复固定 Node 在系统 PATH 的可见性
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Failing after 7m19s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Failing after 7m49s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Failing after 7m52s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Failing after 8m9s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m7s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m50s
Project CI / Repository checks (pull_request) Successful in 3m48s
Project CI / Frontend tests (pull_request) Successful in 5m21s
Project CI / Backend tests (pull_request) Successful in 6m56s
Project CI / Native shell tests (pull_request) Successful in 7m55s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m50s
dc54b1d048
- 上一版把固定 Node 只放在 /usr/local/lib/genarrative-node,未在 /usr/local/bin 建 node 链接
- command.exec 只信任 /usr/local/bin 等系统目录,导致 CI 上所有需要真实 node 的命令用例失败(找不到受信任的 node 可执行文件)
- 在 npm 固定版本步骤后恢复 /usr/local/bin/node 符号链接,并同步注释口径
kdletters force-pushed codex/refresh-gitea-ci-job-image-20260921 from c8dc9a450f to dc54b1d048 2026-09-21 03:23:50 +08:00 Compare
kdletters added 1 commit 2026-09-21 04:17:56 +08:00
放宽 AGC 测试的 mock 请求等待预算
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Failing after 7m17s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Failing after 7m40s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Failing after 7m47s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m2s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m3s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Failing after 9m41s
Project CI / Repository checks (pull_request) Successful in 3m49s
Project CI / Backend tests (pull_request) Successful in 6m9s
Project CI / Frontend tests (pull_request) Successful in 4m54s
Project CI / Native shell tests (pull_request) Successful in 7m8s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m48s
979c6cfae2
- 测试内 78 处 recv_timeout(Duration::from_secs(5)) 是等待 mock Provider / 运行时请求的正向等待,高负载 CI 上会超时并让每轮随机一批用例变红
- 统一放宽到 30 秒,仍保持有界;负向用例使用的更短等待(1~3 秒)保持不变
- 覆盖 tests/** 与 runner/tests.rs,涉及 command_runtime、provider、response_stream、sessions、goal、recovery 等文件
kdletters merged commit 4b788fa73a into master 2026-09-21 06:15:58 +08:00
kdletters deleted branch codex/refresh-gitea-ci-job-image-20260921 2026-09-21 06:15:58 +08:00
Sign in to join this conversation.