用 Jenkins 真实证据关闭渠道化第 5 条,并记录 dev-mac 卡在离线 mac 节点
Project CI / AI game creator shell Rust crates (push) Successful in 1m29s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m57s
Project CI / Backend tests (push) Successful in 4m17s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 7m9s
Project CI / Frontend tests (push) Successful in 2m12s
Project CI / Native shell tests (push) Successful in 6m18s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m18s
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Successful in 1m29s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m57s
Project CI / Backend tests (push) Successful in 4m17s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 7m9s
Project CI / Frontend tests (push) Successful in 2m12s
Project CI / Native shell tests (push) Successful in 6m18s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m18s
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
- 渠道化里程碑:四渠道全量只读核对(dev-win 0.1.158、release-win 0.1.159、release-mac 0.1.139、dev-mac 0.1.142)与真实 Jenkins 日志/归档取证,条目 5「凭据不落日志、不进归档」勾选关闭 - macOS 里程碑:记录节点 genarrative-agc-macos-01 自 2026-09-24 19:54:51 +08:00 起 ChannelTermination 离线(JNLP 只能在 Mac 本机启动)、离线期间不产出半成品,以及日调度 Job 因此连续失败 - pitfalls:新增「AGC 发布类 Job 变红或卡住先看构建节点在线状态」的排查口径与只读检查命令
This commit is contained in:
@@ -6145,3 +6145,11 @@ Cocos Creator 根目录由 `package.json.creator.version` 与普通 `assets/`
|
||||
- **现象/风险**:AGC 里 `MAX_PROJECT_EXPORT_PACKAGE_BYTES = 512 MiB` 管的是"本地导出/暂存的体积安全线",而平台发布上限是 **200 MiB**(`module-game-distribution` 的 `MAX_PACKAGE_BYTES`,2026-09-23 决策从 100 MiB 放宽而来)。两者不是一个概念,拿前者当发布前检查会让 200–512 MiB 的包一路读盘 + 暂存,最后在建版本时吃服务端 413,作者白等一轮。
|
||||
- **现状(2026-09-29 已修)**:上限单一来源落到 `shared_contracts::game_distribution::GAME_DISTRIBUTION_MAX_PACKAGE_BYTES`;AGC 在读包阶段就做 `ensure_within_platform_package_limit()` 预检并给出「发行包 X MiB 超过平台上限 200 MiB;请精简资源后重新导出再发布」。服务端领域 crate 不依赖 `shared-contracts`,仍保留自己的常量,由 api-server 的 `publish_package_limit_matches_the_shared_contract` 锁成一致。
|
||||
- **判据**:任何"客户端先检查、服务端再校验"的额度都要问一句"这两处是同一个数吗、谁保证不漂移";本地安全线(防呆)与平台业务额度(可对外承诺)要分开命名,别混用。
|
||||
|
||||
## 2026-09-29 AGC 发布类 Job 变红或卡住,先看构建节点在线状态(不是构建脚本)
|
||||
|
||||
- **现象**:`Genarrative-Scheduled-Release-Trigger` 连续 FAILURE,日志尾部是 `Cancelling nested steps due to timeout` + `Genarrative-Agc-MacOS-Build 等待失败: Build of Genarrative-Agc-MacOS-Build was cancelled`(等满 2 hr);`Genarrative-Agc-MacOS-Build` 自己的日志是 ABORTED,且停在 `// node` 之前、只有 `Still waiting to schedule task` / `'genarrative-agc-macos-01' is offline`。两者是同一条根因的不同表现,别去翻构建脚本或产物验证逻辑。
|
||||
- **先查这个**:`GET https://jenkins.genarrative.world/jenkins/computer/api/json?tree=computer[displayName,offline,offlineCauseReason]`(注意实例挂在 **`/jenkins` 上下文路径**下,用根路径会 302/403)。`offlineCause` 为 `OfflineCause$ChannelTermination` 表示 agent 连接断开(机器关机/休眠/agent 进程退出/网络中断),此时 `GET /jenkins/computer/<节点名>/config.xml` 里的 `launcher` 决定能不能远程拉起。
|
||||
- **不能远程拉起的形态**:`genarrative-agc-macos-01` 是 `JNLPLauncher`(inbound WebSocket,`remoteFS=/Users/suzmii/Library/Jenkins/agents/genarrative-agc-macos-local`),只能在那台 Mac 本机把 agent 起回来;Jenkins 侧没有可用入口。所以「macOS 渠道一直没有新版本」这类问题的第一问是:那台 Mac 是否开机、agent 是否在跑。(该节点 2026-09-24 19:54:51 +08:00 起因 `ChannelTermination` 离线,`dev-mac` 的 `latest.json` 因此一直停在 0.1.142。)
|
||||
- **离线期间不会产生半成品**:mac 构建在 `// node` 之前就被中止,Post Action 明确「未走到归档阶段时不会有任何产物,也不会写 OSS」;`Jenkinsfile.scheduled-release-trigger` 里给 mac 分支传 `SKIP_IF_SUPERSEDED=true`,节点回来后排队中的旧构建会自行让位。
|
||||
- **同时在查的东西**:`dev-mac/0.1.142` 清单指向的是 `0.1.139` 的 release 身份包(构建目录里上一轮的 `<产品名>.app.tar.gz` 残留被扫描式产物选择器挑走)。修复已在 `build-macos-ci.mjs` + `macos-release-identity.mjs` 落地;`npm run check:agc-update-channel-manifests` 现在会自动报出 `bundle=0.1.139 manifest=0.1.142`、身份 release 以及「渠道隔离」下的 `dev-mac = release-mac`(同一 sha256),不需要人工比对。
|
||||
|
||||
Reference in New Issue
Block a user