@@ -2,11 +2,15 @@ name: publish
22run-name : " ${{ format('release {0}', inputs.bump) }}"
33
44on :
5+ push :
6+ branches :
7+ - dev
8+ - snapshot-*
59 workflow_dispatch :
610 inputs :
711 bump :
812 description : " Bump major, minor, or patch"
9- required : true
13+ required : false
1014 type : choice
1115 options :
1216 - major
2024concurrency : ${{ github.workflow }}-${{ github.ref }}
2125
2226permissions :
27+ id-token : write
2328 contents : write
2429 packages : write
2530
@@ -34,20 +39,13 @@ jobs:
3439
3540 - run : git fetch --force --tags
3641
37- - uses : actions/setup-go@v5
38- with :
39- go-version : " >=1.24.0"
40- cache : true
41- cache-dependency-path : go.sum
42-
4342 - uses : ./.github/actions/setup-bun
4443
45- - name : Install makepkg
44+ - name : Setup SSH for AUR
45+ if : inputs.bump || inputs.version
4646 run : |
4747 sudo apt-get update
4848 sudo apt-get install -y pacman-package-manager
49- - name : Setup SSH for AUR
50- run : |
5149 mkdir -p ~/.ssh
5250 echo "${{ secrets.AUR_KEY }}" > ~/.ssh/id_rsa
5351 chmod 600 ~/.ssh/id_rsa
5654 ssh-keyscan -H aur.archlinux.org >> ~/.ssh/known_hosts || true
5755
5856 - name : Install OpenCode
59- run : curl -fsSL https://opencode.ai/install | bash
60-
61- - name : Setup npm auth
62- run : |
63- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
57+ if : inputs.bump || inputs.version
58+ run : bun i -g opencode-ai@1.0.143
6459
6560 - name : Login to GitHub Container Registry
6661 uses : docker/login-action@v3
@@ -69,29 +64,39 @@ jobs:
6964 username : ${{ github.repository_owner }}
7065 password : ${{ secrets.GITHUB_TOKEN }}
7166
67+ - uses : actions/setup-node@v4
68+ with :
69+ node-version : " 24"
70+ registry-url : " https://registry.npmjs.org"
71+
7272 - name : Publish
73- run : |
74- ./script/publish.ts
73+ id : publish
74+ run : ./script/publish.ts
7575 env :
7676 OPENCODE_BUMP : ${{ inputs.bump }}
7777 OPENCODE_VERSION : ${{ inputs.version }}
78- OPENCODE_CHANNEL : latest
79- NPM_CONFIG_TOKEN : ${{ secrets.NPM_TOKEN }}
80- GITHUB_TOKEN : ${{ secrets.SST_GITHUB_TOKEN }}
81- AUR_KEY : ${{ secrets.AUR_KEY }}
8278 OPENCODE_API_KEY : ${{ secrets.OPENCODE_API_KEY }}
79+ AUR_KEY : ${{ secrets.AUR_KEY }}
80+ GITHUB_TOKEN : ${{ secrets.SST_GITHUB_TOKEN }}
81+ NPM_CONFIG_PROVENANCE : false
82+ outputs :
83+ releaseId : ${{ steps.publish.outputs.releaseId }}
84+ tagName : ${{ steps.publish.outputs.tagName }}
8385
8486 publish-tauri :
87+ needs : publish
88+ continue-on-error : true
8589 strategy :
90+ fail-fast : false
8691 matrix :
8792 settings :
8893 - host : macos-latest
8994 target : x86_64-apple-darwin
9095 - host : macos-latest
9196 target : aarch64-apple-darwin
92- - host : windows-latest
97+ - host : blacksmith-4vcpu- windows-2025
9398 target : x86_64-pc-windows-msvc
94- - host : ubuntu-24.04
99+ - host : blacksmith-4vcpu- ubuntu-2404
95100 target : x86_64-unknown-linux-gnu
96101 runs-on : ${{ matrix.settings.host }}
97102 steps :
@@ -124,7 +129,7 @@ jobs:
124129 - uses : ./.github/actions/setup-bun
125130
126131 - name : install dependencies (ubuntu only)
127- if : startsWith (matrix.settings.host, 'ubuntu')
132+ if : contains (matrix.settings.host, 'ubuntu')
128133 run : |
129134 sudo apt-get update
130135 sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
@@ -156,7 +161,7 @@ jobs:
156161
157162 # Fixes AppImage build issues, can be removed when https://github.com/tauri-apps/tauri/pull/12491 is released
158163 - run : cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage
159- if : startsWith (matrix.settings.host, 'ubuntu')
164+ if : contains (matrix.settings.host, 'ubuntu')
160165
161166 - name : Build and upload artifacts
162167 uses : tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a
@@ -174,7 +179,9 @@ jobs:
174179 with :
175180 projectPath : packages/tauri
176181 uploadWorkflowArtifacts : true
177- tauriScript : ${{ (startsWith (matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }}
182+ tauriScript : ${{ (contains (matrix.settings.host, 'ubuntu') && 'cargo tauri') || '' }}
178183 args : --target ${{ matrix.settings.target }}
179184 updaterJsonPreferNsis : true
180- # releaseId: TODO
185+ releaseId : ${{ needs.publish.outputs.releaseId }}
186+ tagName : ${{ needs.publish.outputs.tagName }}
187+ releaseAssetNamePattern : opencode-desktop-[platform]-[arch][ext]
0 commit comments