diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 9c32b8b..7cc057b 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -163,10 +163,10 @@ jobs: esac # Windows 单 exe 装不下 LICENSE/NOTICE/README.md,故三份与产物并列挂 Release(条款随包);`ull` 是独立资产。 # manifest.json 是更新清单(D50):固定文件名,客户端问 `releases/latest/download/manifest.json`。 - # ⚠️ 未决(M151 报告带利弊,未自行改默认值):GitHub 的 `releases/latest/download/*` 只指向**非 - # prerelease** 的最新 Release,而下面首次 create 默认勾 `--prerelease`。矛盾的两个方案—— - # 甲:稳定发布时显式 dispatch `prerelease=false`(latest 随之生效,客户端地址不变); - # 乙:客户端不用 latest,改按 tag 查 API 再取 assets(发布默认值不用动,客户端多一次 API 调用)。 + # D51 定案(2026-11-06,方案甲):GitHub 的 `releases/latest/download/*` 只指向**非 + # prerelease** 的最新 Release。稳定版发布时显式 dispatch `prerelease=false`(latest 随之生效, + # 客户端地址不变);push tag 默认仍 prerelease(视为预发布观察,不进稳定通道)。 + # 发版 checklist 第六件 = 确认 prerelease 标记与通道一致;v0.2.2 起首个适用。 assets=(dist/unlucky-launcher_* dist/ull_* dist/manifest.json dist/SHA256SUMS.txt LICENSE NOTICE README.md) if gh release view "$TAG" >/dev/null 2>&1; then # 同 tag 重跑(补丁/重编):Release 已存在 → 覆盖资产 + 刷新说明,再 `create` 会因已存在而失败。 diff --git a/packaging/README.md b/packaging/README.md index bcc47c5..f14cc08 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -92,7 +92,7 @@ Git Bash 下会静默落进 Docker VM(脚本内部用 `cygpath -m` 归一) 后者在 Release 正文里已有,两处各写一份迟早漂。 - 本地复跑:`python3 packaging/make_artifacts.py --manifest` → 与 CI 同一段代码,产出 `dist/manifest.json`。 -**未决(M151 报告里带利弊,供拍板)**:GitHub 的 `releases/latest/download/*` 只指向**非 prerelease** 的最新 -Release,而发布默认 `prerelease=true`。甲案 = 稳定发布时 dispatch `prerelease=false` 让 latest 生效(客户端地址不变); -乙案 = 客户端不用 latest、改按 tag 查 API(发布默认值不动,客户端多一次 API 调用)。`manifest.json` 已随每个 -Release 上传,两案都能用;在拍板前**不改发布默认值**。 +**D51 定案(2026-11-06,方案甲)**:GitHub 的 `releases/latest/download/*` 只指向**非 prerelease** 的最新 +Release。稳定版发布时显式 dispatch `prerelease=false` 让 latest 生效(客户端地址不变);push tag 默认仍 +`prerelease=true`,视为预发布观察、不进稳定通道。发版 checklist 第六件 = 确认 prerelease 标记与通道一致; +v0.2.2 起首个适用。