@@ -113,7 +113,7 @@ jobs:
113
113
tag_name : ${{ steps.update-release-draft.outputs.tag_name }}
114
114
upload_url : ${{ steps.update-release-draft.outputs.upload_url }}
115
115
116
- build-push-release-artifacts :
116
+ build-push-linux- release-artifacts :
117
117
permissions :
118
118
id-token : write
119
119
contents : write
@@ -243,10 +243,66 @@ jobs:
243
243
if-no-files-found : error
244
244
retention-days : 1
245
245
246
+ # Build for Windows with Cross
247
+ build-push-windows-release-artifacts :
248
+ permissions :
249
+ id-token : write
250
+ contents : write
251
+ needs : update-release-draft
252
+ runs-on : ubuntu-22.04
253
+ defaults :
254
+ run :
255
+ working-directory : ./rust
256
+ strategy :
257
+ fail-fast : false
258
+ matrix :
259
+ arch :
260
+ - target : x86_64-pc-windows-msvc
261
+ shortname : x64
262
+ name :
263
+ - package : firezone-windows-client
264
+ artifact : windows-client
265
+ env :
266
+ BINARY_DEST_PATH : ${{ matrix.name.artifact }}-${{ matrix.arch.shortname }}
267
+ steps :
268
+ - uses : actions/checkout@v4
269
+ - uses : ./.github/actions/setup-rust
270
+ with :
271
+ targets : x86_64-pc-windows-msvc
272
+ - uses : taiki-e/install-action@v2
273
+ with :
274
+ tool : cross
275
+ - name : Build release binaries
276
+ run : |
277
+ set -xe
278
+
279
+ cross build --release -p ${{ matrix.name.package }} --target ${{ matrix.arch.target }}
280
+
281
+ # Used for release artifact
282
+ cp target/${{ matrix.arch.target }}/release/${{ matrix.name.package }} $BINARY_DEST_PATH
283
+
284
+ # Used for Docker images
285
+ cp target/${{ matrix.arch.target }}/release/${{ matrix.name.package }} ${{ matrix.name.package }}
286
+ sha256sum $BINARY_DEST_PATH > $BINARY_DEST_PATH.sha256sum.txt
287
+
288
+ ls -la $BINARY_DEST_PATH
289
+ ls -la $BINARY_DEST_PATH.sha256sum.txt
290
+ - name : Upload Release Assets
291
+ env :
292
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
293
+ run : |
294
+ set -xe
295
+
296
+ gh release upload ${{ needs.update-release-draft.outputs.tag_name }} \
297
+ ${{ env.BINARY_DEST_PATH }} \
298
+ ${{ env.BINARY_DEST_PATH }}.sha256sum.txt \
299
+ --clobber \
300
+ --repo ${{ github.repository }}
301
+
246
302
merge-release-artifacts :
247
303
permissions :
248
304
id-token : write
249
- needs : build-push-release-artifacts
305
+ needs : build-push-linux- release-artifacts
250
306
runs-on : ubuntu-22.04
251
307
strategy :
252
308
fail-fast : false
0 commit comments