@@ -20,56 +20,77 @@ jobs:
2020 fail-fast : false
2121 matrix :
2222 include :
23- - target : linux-appimage
23+ - target : linux-appimage-x86_64
24+ platform : linux
2425 os : ubuntu-22.04
25- artifact_name : ia-interact-linux-appimage
26+ linux_appimage_arch : x86_64
27+ artifact_name : ia-interact-linux-x86_64-appimage
2628 artifact_path : release/ia-interact-linux-x86_64.AppImage
27- - target : windows-exe
29+ - target : linux-appimage-aarch64
30+ platform : linux
31+ os : ubuntu-24.04-arm
32+ linux_appimage_arch : aarch64
33+ artifact_name : ia-interact-linux-aarch64-appimage
34+ artifact_path : release/ia-interact-linux-aarch64.AppImage
35+ - target : windows-exe-x86_64
36+ platform : windows
2837 os : windows-latest
29- artifact_name : ia-interact-windows-exe
38+ windows_arch_suffix : x86_64
39+ artifact_name : ia-interact-windows-x86_64-exe
3040 artifact_path : release/ia-interact-windows-x86_64.exe
31- - target : macos-app
32- os : macos-13
33- artifact_name : ia-interact-macos-app
34- artifact_path : release/ia-interact-macos.app.zip
35- defaults :
36- run :
37- shell : bash
41+ - target : windows-exe-arm64
42+ platform : windows
43+ os : windows-11-arm
44+ windows_arch_suffix : arm64
45+ artifact_name : ia-interact-windows-arm64-exe
46+ artifact_path : release/ia-interact-windows-arm64.exe
47+ - target : macos-app-universal
48+ platform : macos
49+ os : macos-14
50+ artifact_name : ia-interact-macos-universal-app
51+ artifact_path : release/ia-interact-macos-universal.app.zip
3852 steps :
3953 - name : Checkout
40- uses : actions/checkout@v4
54+ uses : actions/checkout@v6
4155
4256 - name : Set up Python
43- uses : actions/setup-python@v5
57+ uses : actions/setup-python@v6
4458 with :
4559 python-version : " 3.11"
46-
47- - name : Install build dependencies
60+ - name : Install build dependencies (Linux/macOS)
61+ if : matrix.platform != 'windows'
62+ run : |
63+ python -m pip install --upgrade pip
64+ python -m pip install -r requirements-build.txt
65+ - name : Install build dependencies (Windows)
66+ if : matrix.platform == 'windows'
67+ shell : pwsh
4868 run : |
4969 python -m pip install --upgrade pip
5070 python -m pip install -r requirements-build.txt
5171 - name : Build Linux AppImage
52- if : matrix.target == 'linux-appimage '
72+ if : matrix.platform == 'linux'
5373 run : |
5474 chmod +x scripts/build-appimage.sh
55- scripts/build-appimage.sh
75+ APPIMAGE_ARCH=${{ matrix.linux_appimage_arch }} scripts/build-appimage.sh
5676
5777 - name : Build Windows .exe
58- if : matrix.target == 'windows-exe'
78+ if : matrix.platform == 'windows'
79+ shell : pwsh
5980 run : |
6081 pyinstaller --clean --onefile --name ia-interact ia-interact.py
61- mkdir -p release
62- cp dist/ia-interact.exe release/ia-interact-windows-x86_64. exe
82+ New-Item -ItemType Directory -Path release -Force | Out-Null
83+ Copy-Item dist/ia-interact.exe " release/ia-interact-windows-${{ matrix.windows_arch_suffix }}. exe"
6384
64- - name : Build macOS .app bundle archive
65- if : matrix.target == 'macos-app '
85+ - name : Build macOS universal .app bundle archive
86+ if : matrix.platform == 'macos'
6687 run : |
67- pyinstaller --clean --onedir --windowed --name ia-interact ia-interact.py
88+ pyinstaller --clean --onedir --windowed --target-architecture universal2 -- name ia-interact ia-interact.py
6889 mkdir -p release
69- ditto -c -k --sequesterRsrc --keepParent dist/ia-interact.app release/ia-interact-macos.app.zip
90+ ditto -c -k --sequesterRsrc --keepParent dist/ia-interact.app release/ia-interact-macos-universal .app.zip
7091
7192 - name : Upload portable artifact
72- uses : actions/upload-artifact@v4
93+ uses : actions/upload-artifact@v7
7394 with :
7495 name : ${{ matrix.artifact_name }}
7596 path : ${{ matrix.artifact_path }}
@@ -85,15 +106,15 @@ jobs:
85106 contents : write
86107 steps :
87108 - name : Download artifacts
88- uses : actions/download-artifact@v4
109+ uses : actions/download-artifact@v8
89110 with :
90111 path : release-assets
91112
92113 - name : Show release assets
93114 run : find release-assets -type f
94115
95116 - name : Attach assets to GitHub Release
96- uses : softprops/action-gh-release@v2
117+ uses : softprops/action-gh-release@v3
97118 with :
98119 files : |
99120 release-assets/**/*.AppImage
0 commit comments