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": {