From d78b35981adab12934eb7ba12146a814b4831a5d Mon Sep 17 00:00:00 2001 From: sim Date: Thu, 24 Sep 2026 17:29:12 +0800 Subject: [PATCH] fix(release): stage Beta packages until verification completes --- .github/workflows/android-apk.yml | 4 +++- .github/workflows/release-tauri.yml | 4 +++- RELEASING.md | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android-apk.yml b/.github/workflows/android-apk.yml index ff1bf6d6..007564c8 100644 --- a/.github/workflows/android-apk.yml +++ b/.github/workflows/android-apk.yml @@ -428,7 +428,9 @@ jobs: with: tag_name: ${{ github.ref_name }} name: OpenLess ${{ github.ref_name }} - draft: false + # The desktop and Android jobs share one Beta draft. Publish it only + # after all jobs and package verification have finished. + draft: ${{ env.OPENLESS_RELEASE_CHANNEL == 'beta' }} prerelease: ${{ env.OPENLESS_RELEASE_CHANNEL == 'beta' }} append_body: true body_path: ${{ runner.temp }}/android-release-body.md diff --git a/.github/workflows/release-tauri.yml b/.github/workflows/release-tauri.yml index f161811e..4f2f3a62 100644 --- a/.github/workflows/release-tauri.yml +++ b/.github/workflows/release-tauri.yml @@ -501,7 +501,9 @@ jobs: with: tag_name: ${{ github.ref_name }} name: 'OpenLess ${{ github.ref_name }}' - draft: false + # Keep Beta assets private until all platforms have built and the + # administrator has verified the downloadable packages. + draft: ${{ env.OPENLESS_RELEASE_CHANNEL == 'beta' }} # beta 渠道的 release 必须标 prerelease=true:GitHub UI 会折叠它, # 普通用户看不到;同时只上传 latest-*-beta.json,正式版用户的 # endpoint(latest-*.json)永远不会被覆盖,保证 Beta 不溢出正式版。 diff --git a/RELEASING.md b/RELEASING.md index 0cdd865b..43829ed3 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -72,6 +72,10 @@ The script takes a plain `X.Y.Z`; for a prerelease version such as 3. CI is green on the commit being tagged. 4. The applicable [desktop feature and device acceptance](docs/2.0-desktop-acceptance.md), signing, and distribution requirements are met; green builds alone do not establish product readiness. 5. Then, and only then, push the release tag. +6. Beta tag workflows upload desktop and Android assets to a shared draft. + Wait for both workflows to succeed, verify the packages and Beta updater + manifests, then publish that draft as a prerelease. Do not rerun an asset + workflow after publication without first returning the release to draft. Before attaching Linux assets, additionally require all of the following: