From 320231808b61d9891ec49d02919f0eddfe179630 Mon Sep 17 00:00:00 2001 From: gouki Date: Sun, 9 Aug 2026 18:36:19 +0000 Subject: [PATCH] =?UTF-8?q?fix(mini):=20=E4=BF=AE=E5=A4=8D=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E8=A2=AB=20MINIAPP=5FVERSION=5FOVERRIDE=3D1.?= =?UTF-8?q?0.1=20=E6=B0=B8=E4=B9=85=E5=86=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除冻结版本变量及工作流对它的引用(遗留的临时锁定变量) - 版本编码改为保留 package.json 的 major.minor 基线,构建编号映射 patch(单调递增) - 基线版本提升为 1.1.0,下次上传即为 1.1.4x(此前反复上传 1.0.1) --- .gitea/workflows/miniapp-preview.yml | 2 -- mini/ci/resolve-version.cjs | 17 ++++++++++------- mini/package.json | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/miniapp-preview.yml b/.gitea/workflows/miniapp-preview.yml index f25c207..e1bd27a 100644 --- a/.gitea/workflows/miniapp-preview.yml +++ b/.gitea/workflows/miniapp-preview.yml @@ -61,7 +61,6 @@ jobs: working-directory: mini env: MINIAPP_BUILD_NUMBER: ${{ gitea.run_number }} - MINIAPP_VERSION_OVERRIDE: ${{ vars.MINIAPP_VERSION_OVERRIDE }} GITEA_SHA: ${{ gitea.sha }} run: | test -n "$MINIAPP_BUILD_NUMBER" @@ -105,7 +104,6 @@ jobs: MINIAPP_ROBOT: ${{ vars.MINIAPP_ROBOT }} # Prefer the version resolved before build so UI label matches WeChat upload. MINIAPP_BUILD_NUMBER: ${{ gitea.run_number }} - MINIAPP_VERSION_OVERRIDE: ${{ vars.MINIAPP_VERSION_OVERRIDE }} WECHAT_CI_PRIVATE_KEY_PATH: ${{ runner.temp }}/wechat-ci.key MINIAPP_UPLOAD_RESULT: ${{ gitea.workspace }}/mini/ci-artifacts/upload-result.json MINIAPP_VERSION_LABEL: ${{ gitea.sha }} diff --git a/mini/ci/resolve-version.cjs b/mini/ci/resolve-version.cjs index c8c00c6..c0509df 100644 --- a/mini/ci/resolve-version.cjs +++ b/mini/ci/resolve-version.cjs @@ -45,19 +45,22 @@ function parseSemverParts(version) { /** * Encode a monotonic CI build number into WeChat x.y.z. - * Keeps package.json major; puts build into minor.patch with base 100. - * Examples (major=1): build 99 → 1.0.99, build 100 → 1.1.0, build 101 → 1.1.1 + * Keeps package.json major.minor as the baseline; build number maps to patch. + * Examples (base 1.1.0): build 45 → 1.1.45, build 999 → 1.1.999 + * (patch wraps every 1000 builds; bump package.json minor before that) */ -function versionFromBuildNumber(major, buildNumber) { +function versionFromBuildNumber(major, minor, buildNumber) { if (!Number.isInteger(buildNumber) || buildNumber < 1) { throw new Error("MINIAPP_BUILD_NUMBER must be a positive integer."); } if (!Number.isInteger(major) || major < 0 || major > 999) { throw new Error("package.json major version must be an integer 0-999."); } + if (!Number.isInteger(minor) || minor < 0 || minor > 999) { + throw new Error("package.json minor version must be an integer 0-999."); + } - const minor = Math.floor(buildNumber / 100) % 1000; - const patch = buildNumber % 100; + const patch = buildNumber % 1000; return `${major}.${minor}.${patch}`; } @@ -70,12 +73,12 @@ function resolveVersion(projectPath, env = process.env) { } const packageVersion = readPackageVersion(projectPath); - const { major } = parseSemverParts(packageVersion); + const { major, minor } = parseSemverParts(packageVersion); const buildRaw = (env.MINIAPP_BUILD_NUMBER || "").trim(); if (buildRaw) { const buildNumber = Number.parseInt(buildRaw, 10); - return versionFromBuildNumber(major, buildNumber); + return versionFromBuildNumber(major, minor, buildNumber); } // Legacy fixed override — prefer not to use; keeps version stuck across uploads. diff --git a/mini/package.json b/mini/package.json index cd58200..b1c417a 100644 --- a/mini/package.json +++ b/mini/package.json @@ -1,6 +1,6 @@ { "name": "lunar-mini", - "version": "1.0.0", + "version": "1.1.0", "description": "祈福小助手 - 万年历微信小程序", "private": true, "scripts": {