From 8f784bd367f5e170c71b657e2e66a87f4b3ee7f6 Mon Sep 17 00:00:00 2001 From: Darkings Date: Sat, 27 Jun 2026 09:04:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E5=B8=83=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=A0=87=E7=AD=BE=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/verify-versions.js | 2 +- test/verify-versions.test.js | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/scripts/verify-versions.js b/scripts/verify-versions.js index 33410c3..9102393 100644 --- a/scripts/verify-versions.js +++ b/scripts/verify-versions.js @@ -21,7 +21,7 @@ export function checkVersionConsistency({ const packageVersion = packageJson.version; const manifestVersion = manifestJson.version; const minAppVersion = manifestJson.minAppVersion; - const tagVersion = normalizeReleaseTag(releaseTag); + const tagVersion = requireReleaseTag ? normalizeReleaseTag(releaseTag) : ""; if (!packageVersion) { failures.push("package.json 缺少 version 字段"); diff --git a/test/verify-versions.test.js b/test/verify-versions.test.js index 009fd94..1566167 100644 --- a/test/verify-versions.test.js +++ b/test/verify-versions.test.js @@ -24,3 +24,29 @@ test("版本检查报告不一致的中文错误", () => { assert.equal(result.passed, false); assert.match(result.failures.join("\n"), /manifest\.json 版本/); }); + +test("版本检查在分支工作流中不把分支名当发布标签", () => { + const result = checkVersionConsistency({ + packageJson: { version: "1.1.0" }, + manifestJson: { version: "1.1.0", minAppVersion: "1.0.0" }, + versionsJson: { "1.1.0": "1.0.0" }, + releaseTag: "master", + requireReleaseTag: false, + }); + + assert.equal(result.passed, true); + assert.deepEqual(result.failures, []); +}); + +test("版本检查在标签发布中校验标签与 package 版本一致", () => { + const result = checkVersionConsistency({ + packageJson: { version: "1.1.0" }, + manifestJson: { version: "1.1.0", minAppVersion: "1.0.0" }, + versionsJson: { "1.1.0": "1.0.0" }, + releaseTag: "master", + requireReleaseTag: true, + }); + + assert.equal(result.passed, false); + assert.match(result.failures.join("\n"), /发布标签 master/); +});