Browse Source

ci: enable tauri desktop app to be published with GitHub release ID and tag name

Dax Raad 4 months ago
parent
commit
89d9856ed2
2 changed files with 13 additions and 4 deletions
  1. 9 4
      .github/workflows/publish.yml
  2. 4 0
      script/publish.ts

+ 9 - 4
.github/workflows/publish.yml

@@ -70,8 +70,8 @@ jobs:
           registry-url: "https://registry.npmjs.org"
 
       - name: Publish
-        run: |
-          ./script/publish.ts
+        id: publish
+        run: ./script/publish.ts
         env:
           OPENCODE_BUMP: ${{ inputs.bump }}
           OPENCODE_VERSION: ${{ inputs.version }}
@@ -79,9 +79,13 @@ jobs:
           AUR_KEY: ${{ secrets.AUR_KEY }}
           GITHUB_TOKEN: ${{ secrets.SST_GITHUB_TOKEN }}
           NPM_CONFIG_PROVENANCE: false
+    outputs:
+      releaseId: ${{ steps.publish.outputs.releaseId }}
+      tagName: ${{ steps.publish.outputs.tagName }}
 
   publish-tauri:
-    if: false # inputs.bump || inputs.version
+    needs: publish
+    if: inputs.bump || inputs.version
     continue-on-error: true
     strategy:
       fail-fast: false
@@ -179,4 +183,5 @@ jobs:
           tauriScript: ${{ (startsWith(matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }}
           args: --target ${{ matrix.settings.target }}
           updaterJsonPreferNsis: true
-          # releaseId: TODO
+          releaseId: ${{ needs.publish.outputs.releaseId }}
+          tagName: ${{ needs.publish.outputs.tagName }}

+ 4 - 0
script/publish.ts

@@ -156,4 +156,8 @@ if (!Script.preview) {
   await $`git push origin HEAD --tags --no-verify --force-with-lease`
   await new Promise((resolve) => setTimeout(resolve, 5_000))
   await $`gh release create v${Script.version} --title "v${Script.version}" --notes ${notes.join("\n") || "No notable changes"} ./packages/opencode/dist/*.zip ./packages/opencode/dist/*.tar.gz`
+  const release = await $`gh release view v${Script.version} --json id,tagName`.json()
+  if (process.env.GITHUB_OUTPUT) {
+    await Bun.write(process.env.GITHUB_OUTPUT, `releaseId=${release.id}\ntagName=${release.tagName}\n`)
+  }
 }