From 65012e89b6563086bafaf63f5a32bf0063324226 Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Mon, 7 Sep 2026 14:10:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E5=8C=96=20AGC=20=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=9A=E5=8C=BA=E5=88=86=20build=20?= =?UTF-8?q?=E4=B8=8E=20release:upload=20=E7=9A=84=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build 只校验五个版本来源一致;release:upload 在上传前额外校验版本已提交与防降级 --- .../【技术方案】AGC客户端更新检查与下载-2026-08-31.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/technical/【技术方案】AGC客户端更新检查与下载-2026-08-31.md b/docs/technical/【技术方案】AGC客户端更新检查与下载-2026-08-31.md index a5bb692fe..757afc474 100644 --- a/docs/technical/【技术方案】AGC客户端更新检查与下载-2026-08-31.md +++ b/docs/technical/【技术方案】AGC客户端更新检查与下载-2026-08-31.md @@ -62,14 +62,14 @@ npm run ai-game-creator-shell:bump-version -- --version 0.1.25 --commit **不会重复递增**。提交前若检测到**除版本文件外的其他已暂存改动**,会中止并提示先处理,避免误提交无关内容。 提交标题固定为“提升 AGC 版本至 x.y.z”。 -**发布只读仓库版本(`npm run ai-game-creator-shell:build` 与 `release:upload`)** +**构建/发布只读仓库版本(`npm run ai-game-creator-shell:build` 与 `release:upload`)** -构建/发布不再改写版本文件,而是读取仓库已提交版本,并在发布前做两件事: +构建与发布都不再改写版本文件,而是读取仓库版本。前者只校验五个版本来源一致(不一致会中止, +防止漂移);后者(`release:upload`)在上传前还会做两道校验: -1. 校验五个版本来源一致,不一致会中止,防止漂移。 -2. 校验版本相对 `HEAD` 已提交(`assertVersionCommitted`):若版本文件存在未提交改动会中止, +1. 校验版本相对 `HEAD` 已提交(`assertVersionCommitted`):若版本文件存在未提交改动会中止, 确保本地发布与 Jenkins 检出的是同一个版本。 -3. 通过 `assertVersionNotBelowOss` 读取 OSS `latest.json`:若仓库版本**低于**线上版本会中止, +2. 通过 `assertVersionNotBelowOss` 读取 OSS `latest.json`:若仓库版本**低于**线上版本会中止, 并提示先运行 `bump-version`,避免回退线上版本;OSS 读取失败或清单格式错误同样会中止。 仓库版本等于或高于线上版本才放行。