只读核对补旧协议指针的分区断言
Project CI / AI game creator shell Rust smoke (push) Successful in 1m21s
Project CI / AI game creator shell Rust crates (push) Successful in 1m37s
Project CI / Backend tests (push) Successful in 3m49s
Project CI / Frontend tests (push) Successful in 1m37s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m20s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m39s
Project CI / Native shell tests (push) Successful in 5m50s
Project CI / AI game creator shell web tests (push) Successful in 2m18s
Project CI / Repository checks (push) Successful in 2m49s

- check:agc-update-channel-manifests:非 dev 的 Windows 渠道核对时断言 agc/latest.json 仍指向 dev-win 分区(全局单对象只属于 dev)
- 渠道隔离里程碑与 decision-log 记录线上证据:release-win 核对通过,指针指向 dev-win 0.1.155
This commit is contained in:
kdletters
2026-09-28 22:30:15 +08:00
parent e055cb1d7c
commit 93af29314c
3 changed files with 20 additions and 0 deletions
@@ -332,6 +332,24 @@ async function verifyChannel(channel, tempDir) {
`sha256=${String(bridgeJson.sha256 ?? '').slice(0, 12)} size=${bridgeJson.size ?? ''}`,
);
}
} else if (channel.endsWith('-win')) {
// 旧协议迁移指针是**全局单对象**,只属于 dev 渠道的 Windows 系统;其它渠道发布
// 不得改写它,否则 dev 用户会被推去装别的渠道的包。
const bridge = await fetch(`${OSS_BASE_URL}/latest.json`);
if (bridge.status === 200) {
const bridgeJson = await bridge.json();
const bridgeUrl = String(bridgeJson.downloadUrl ?? '');
check(
`${channel} 没有改写 dev 的旧协议迁移指针`,
bridgeUrl.includes('/agc/dev-win/'),
`bridge=${bridgeUrl}`,
);
} else {
skip(
`${channel} 没有改写 dev 的旧协议迁移指针`,
`旧协议指针不可读:status=${bridge.status}`,
);
}
}
// 可选:下载产物,核对 sha256/size 并用产物内公钥验签。