3232 arch : x86_64
3333 msystem : ucrt64
3434 toolchain : ucrt-x86_64
35+ - name : Windows-ARM64
36+ os : windows-11-arm
37+ arch : aarch64
38+ msystem : clangarm64
39+ toolchain : clang-aarch64
3540 steps :
3641 - name : Checkout
3742 uses : actions/checkout@v4
@@ -169,17 +174,22 @@ jobs:
169174 "mingw-w64-${TOOLCHAIN}-curl-winssl"
170175 "mingw-w64-${TOOLCHAIN}-gcc"
171176 "mingw-w64-${TOOLCHAIN}-graphviz"
172- "mingw-w64-${TOOLCHAIN}-MinHook"
173177 "mingw-w64-${TOOLCHAIN}-miniupnpc"
174178 "mingw-w64-${TOOLCHAIN}-nlohmann-json"
175179 "mingw-w64-${TOOLCHAIN}-nodejs"
176- "mingw-w64-${TOOLCHAIN}-nsis"
177180 "mingw-w64-${TOOLCHAIN}-onevpl"
178181 "mingw-w64-${TOOLCHAIN}-openssl"
179182 "mingw-w64-${TOOLCHAIN}-opus"
180183 "mingw-w64-${TOOLCHAIN}-toolchain"
181184 )
182185
186+ if [[ ${MSYSTEM} == "ucrt64" ]]; then
187+ dependencies+=(
188+ "mingw-w64-${TOOLCHAIN}-MinHook"
189+ "mingw-w64-${TOOLCHAIN}-nsis" # TODO: how to create an arm64 installer?
190+ )
191+ fi
192+
183193 # do not modify below this line
184194
185195 ignore_packages=()
@@ -266,26 +276,36 @@ jobs:
266276 -B build \
267277 -G Ninja \
268278 -S . \
269- -DBUILD_WERROR=ON \
270279 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
271280 -DSUNSHINE_ASSETS_DIR=assets \
272281 -DSUNSHINE_PUBLISHER_NAME='${{ github.repository_owner }}' \
273282 -DSUNSHINE_PUBLISHER_WEBSITE='https://app.lizardbyte.dev' \
274283 -DSUNSHINE_PUBLISHER_ISSUE_URL='https://app.lizardbyte.dev/support'
275284 ninja -C build
276285
277- - name : Package Windows
286+ - name : Package Windows Installer
287+ if : runner.arch == 'X86' || runner.arch == 'X64'
278288 shell : msys2 {0}
279289 run : |
280290 mkdir -p artifacts
281291 cd build
282292
283293 # package
284294 cpack -G NSIS
285- cpack -G ZIP
286295
287296 # move
288297 mv ./cpack_artifacts/Sunshine.exe ../artifacts/Sunshine-${{ matrix.name }}-installer.exe
298+
299+ - name : Package Windows Portable
300+ shell : msys2 {0}
301+ run : |
302+ mkdir -p artifacts
303+ cd build
304+
305+ # package
306+ cpack -G ZIP
307+
308+ # move
289309 mv ./cpack_artifacts/Sunshine.zip ../artifacts/Sunshine-${{ matrix.name }}-portable.zip
290310
291311 - name : Run tests
@@ -298,7 +318,7 @@ jobs:
298318 - name : Generate gcov report
299319 id : test_report
300320 # any except canceled or skipped
301- if : always() && (steps.test.outcome == 'success' || steps.test.outcome == 'failure')
321+ if : always() && (steps.test.outcome == 'success' || steps.test.outcome == 'failure') && runner.arch == 'X86' || runner.arch == 'X64'
302322 shell : msys2 {0}
303323 working-directory : build
304324 run : |
0 commit comments