88 description : " Version (e.g. 0.1.100)"
99 required : true
1010 type : string
11+ body :
12+ description : " Release notes (leave blank to auto-generate from commits)"
13+ required : false
14+ type : string
1115
1216permissions :
1317 contents : write
3135
3236 - uses : actions/upload-artifact@v4
3337 with :
34- name : opencode-cli
35- path : packages/opencode/dist
38+ name : opencode-cli-windows
39+ path : packages/opencode/dist/opencode-windows*
3640
3741 build-desktop-windows :
3842 needs : build-cli
@@ -48,46 +52,46 @@ jobs:
4852 with :
4953 node-version : " 24"
5054
51- - name : Install Rust stable
52- uses : dtolnay/rust-toolchain@stable
53- with :
54- targets : x86_64-pc-windows-msvc
55-
56- - uses : Swatinem/rust-cache@v2
57- with :
58- workspaces : packages/desktop/src-tauri
59- shared-key : x86_64-pc-windows-msvc
60-
6155 - name : Prepare
6256 run : bun ./scripts/prepare.ts
6357 working-directory : packages/desktop
6458 env :
6559 OPENCODE_VERSION : ${{ inputs.version }}
66- RUST_TARGET : x86_64-pc-windows-msvc
60+ OPENCODE_CHANNEL : prod
61+ OPENCODE_CLI_ARTIFACT : opencode-cli-windows
6762 GH_TOKEN : ${{ github.token }}
6863 GITHUB_RUN_ID : ${{ github.run_id }}
6964
70- - name : Build and publish desktop
71- uses : tauri-apps/tauri-action@390cbe447412ced1303d35abe75287949e43437a
65+ - name : Build
66+ run : bun run build
67+ working-directory : packages/desktop
68+ env :
69+ OPENCODE_CHANNEL : prod
70+
71+ - name : Package and publish
72+ run : npx electron-builder --win --x64 --publish always --config electron-builder.config.ts
73+ working-directory : packages/desktop
7274 timeout-minutes : 60
75+ env :
76+ OPENCODE_CHANNEL : prod
77+ GH_TOKEN : ${{ github.token }}
78+
79+ release-notes :
80+ needs : build-desktop-windows
81+ runs-on : ubuntu-latest
82+ steps :
83+ - uses : actions/checkout@v4
7384 with :
74- projectPath : packages/desktop
75- uploadWorkflowArtifacts : true
76- args : >-
77- --target x86_64-pc-windows-msvc
78- --config './src-tauri/tauri.fork.conf.json'
79- --verbose
80- tagName : v${{ inputs.version }}
81- releaseName : v${{ inputs.version }}
82- releaseDraft : true
83- releaseBody : |
84- Personal fork of [opencode](https://github.com/anomalyco/opencode) — includes unreleased features pending upstream review.
85+ fetch-depth : 0
8586
86- **Included features:**
87- - [View & restore archived sessions](https://github.com/anomalyco/opencode/pull/15250)
88- - [Edit config files inside the app](https://github.com/anomalyco/opencode/pull/14617)
89- - [Marquee scroll for long sidebar titles](https://github.com/anomalyco/opencode/pull/13210)
90- releaseAssetNamePattern : opencode-desktop-[platform]-[arch][ext]
91- releaseCommitish : ${{ github.sha }}
87+ - name : Update release body
9288 env :
93- GITHUB_TOKEN : ${{ github.token }}
89+ GH_TOKEN : ${{ github.token }}
90+ BODY : ${{ inputs.body }}
91+ run : |
92+ TAG="v${{ inputs.version }}"
93+ if [ -n "$BODY" ]; then
94+ gh release edit "$TAG" --notes "$BODY"
95+ else
96+ gh release edit "$TAG" --generate-notes
97+ fi
0 commit comments