From 1a902b291c5c096b33a5f618721559e03f0a5dab Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Thu, 9 Apr 2026 16:33:38 -0400 Subject: [PATCH] ci: skip winget publish on beta and ensure finalize always runs Beta releases no longer trigger unnecessary Winget submissions, and release finalization now completes even when some build artifacts are missing. --- .github/workflows/publish.yml | 2 ++ packages/desktop/scripts/finalize-latest-json.ts | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 276e07748d..2f305be5c5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -213,6 +213,7 @@ jobs: needs: - build-cli - version + if: github.ref_name != 'beta' continue-on-error: false env: AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} @@ -547,6 +548,7 @@ jobs: - sign-cli-windows - build-tauri - build-electron + if: always() && !failure() && !cancelled() runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v3 diff --git a/packages/desktop/scripts/finalize-latest-json.ts b/packages/desktop/scripts/finalize-latest-json.ts index a2b95d2c47..855c6a3878 100644 --- a/packages/desktop/scripts/finalize-latest-json.ts +++ b/packages/desktop/scripts/finalize-latest-json.ts @@ -21,7 +21,7 @@ const releaseId = process.env.OPENCODE_RELEASE if (!releaseId) throw new Error("OPENCODE_RELEASE is required") const version = process.env.OPENCODE_VERSION -if (!releaseId) throw new Error("OPENCODE_VERSION is required") +if (!version) throw new Error("OPENCODE_VERSION is required") const token = process.env.GH_TOKEN ?? process.env.GITHUB_TOKEN if (!token) throw new Error("GH_TOKEN or GITHUB_TOKEN is required") @@ -54,7 +54,10 @@ const assets = release.assets ?? [] const assetByName = new Map(assets.map((asset) => [asset.name, asset])) const latestAsset = assetByName.get("latest.json") -if (!latestAsset) throw new Error("latest.json asset not found") +if (!latestAsset) { + console.log("latest.json not found, skipping tauri finalization") + process.exit(0) +} const latestRes = await fetch(latestAsset.url, { headers: {