From b71daef0e35b72e14a182c9a1d23a796e061052c Mon Sep 17 00:00:00 2001 From: tianma-if Date: Sun, 30 Aug 2026 12:21:31 +0800 Subject: [PATCH] fix(ci): read Draft release assets through gh --- .github/workflows/desktop-build.yml | 4 +++- .github/workflows/mobile-build.yml | 4 +++- scripts/desktop-build-workflow.test.mjs | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 996107ab..56ce1a80 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -79,7 +79,9 @@ jobs: fi mapfile -t current_assets < <( - gh api "repos/${GITHUB_REPOSITORY}/releases/tags/${CURRENT_TAG}" \ + gh release view "$CURRENT_TAG" \ + --repo "$GITHUB_REPOSITORY" \ + --json assets \ --jq '.assets[].name' ) asset_ready="$( diff --git a/.github/workflows/mobile-build.yml b/.github/workflows/mobile-build.yml index da78e59b..7c75dc4e 100644 --- a/.github/workflows/mobile-build.yml +++ b/.github/workflows/mobile-build.yml @@ -119,7 +119,9 @@ jobs: fi mapfile -t current_assets < <( - gh api "repos/${GITHUB_REPOSITORY}/releases/tags/${CURRENT_TAG}" \ + gh release view "$CURRENT_TAG" \ + --repo "$GITHUB_REPOSITORY" \ + --json assets \ --jq '.assets[].name' ) asset_ready="$( diff --git a/scripts/desktop-build-workflow.test.mjs b/scripts/desktop-build-workflow.test.mjs index 035e5d4f..5352f853 100644 --- a/scripts/desktop-build-workflow.test.mjs +++ b/scripts/desktop-build-workflow.test.mjs @@ -20,6 +20,10 @@ describe("desktop release workflow", () => { const releasePlan = mobileWorkflow.indexOf(" - name: Compare with previous formal release"); expect(regressionTests).toBeGreaterThanOrEqual(0); expect(regressionTests).toBeLessThan(releasePlan); + expect(workflow).toContain('gh release view "$CURRENT_TAG"'); + expect(mobileWorkflow).toContain('gh release view "$CURRENT_TAG"'); + expect(workflow).not.toContain('releases/tags/${CURRENT_TAG}'); + expect(mobileWorkflow).not.toContain('releases/tags/${CURRENT_TAG}'); }); test("rejects a published APK that is not Play-signed and restores Draft state", () => {