@@ -252,8 +252,17 @@ jobs:
252
252
fail-fast : false
253
253
matrix :
254
254
platform : [windows-latest]
255
- target : [x86_64-pc-windows-msvc, i686-pc-windows-msvc]
256
-
255
+ target : [x86_64-pc-windows-msvc, i686-pc-windows-msvc, aarch64-pc-windows-msvc]
256
+ include :
257
+ - os : windows-latest
258
+ target : x86_64-pc-windows-msvc
259
+ toolchain : stable-x86_64-pc-windows-msvc
260
+ - os : windows-latest
261
+ target : i686-pc-windows-msvc
262
+ toolchain : stable-i686-pc-windows-msvc
263
+ - os : windows-latest
264
+ target : aarch64-pc-windows-msvc
265
+ toolchain : stable-aarch64-pc-windows-msvc
257
266
runs-on : ${{ matrix.platform }}
258
267
steps :
259
268
- uses : actions/download-artifact@v3
@@ -268,6 +277,7 @@ jobs:
268
277
- name : install dependencies
269
278
run : |
270
279
rustup target add ${{ matrix.target }}
280
+ rustup toolchain install --force-non-host ${{ matrix.toolchain }}
271
281
- name : Setup pnpm
272
282
uses : pnpm/action-setup@v2
273
283
with :
@@ -277,23 +287,45 @@ jobs:
277
287
- name : Code Format
278
288
run : pnpm prettier --write .
279
289
- name : Build and Package
290
+ if : matrix.target == 'aarch64-pc-windows-msvc'
280
291
run : |
281
292
$env:TAURI_PRIVATE_KEY="${{ secrets.TAURI_PRIVATE_KEY }}"
282
293
$env:TAURI_KEY_PASSWORD="${{ secrets.TAURI_KEY_PASSWORD }}"
283
- pnpm tauri build --target ${{ matrix.target }}
294
+ pnpm tauri build -b nsis,updater --target ${{ matrix.target }}
295
+ - name : Build and Package
296
+ if : matrix.target == 'x86_64-pc-windows-msvc' || matrix.target == 'i686-pc-windows-msvc'
297
+ run : |
298
+ $env:TAURI_PRIVATE_KEY="${{ secrets.TAURI_PRIVATE_KEY }}"
299
+ $env:TAURI_KEY_PASSWORD="${{ secrets.TAURI_KEY_PASSWORD }}"
300
+ pnpm tauri build -b msi,updater --target ${{ matrix.target }}
284
301
- name : Upload Artifacts
302
+ if : matrix.target == 'x86_64-pc-windows-msvc' || matrix.target == 'i686-pc-windows-msvc'
285
303
uses : actions/upload-artifact@v3
286
304
with :
287
305
name : pot_${{ matrix.target }}.msi
288
306
path : src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi
289
307
if-no-files-found : error
308
+ - name : Upload Artifacts
309
+ if : matrix.target == 'aarch64-pc-windows-msvc'
310
+ uses : actions/upload-artifact@v3
311
+ with :
312
+ name : pot_${{ matrix.target }}.exe
313
+ path : src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*.exe
314
+ if-no-files-found : error
290
315
- name : Upload Release
291
- if : startsWith(github.ref, 'refs/tags')
316
+ if : startsWith(github.ref, 'refs/tags') && (matrix.target == 'x86_64-pc-windows-msvc' || matrix.target == 'i686-pc-windows-msvc')
292
317
uses : softprops/action-gh-release@v1
293
318
with :
294
319
body_path : CHANGELOG
295
320
token : ${{ secrets.TOKEN }}
296
321
files : src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi*
322
+ - name : Upload Release
323
+ if : startsWith(github.ref, 'refs/tags') && matrix.target == 'aarch64-pc-windows-msvc'
324
+ uses : softprops/action-gh-release@v1
325
+ with :
326
+ body_path : CHANGELOG
327
+ token : ${{ secrets.TOKEN }}
328
+ files : src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*.exe*
297
329
- name : Upload WinGet
298
330
if : startsWith(github.ref, 'refs/tags') && matrix.target == 'x86_64-pc-windows-msvc'
299
331
uses : vedantmgoyal2009/winget-releaser@v2
0 commit comments