Skip to content

Commit b720ab7

Browse files
rbqvqReenigneArcher
andcommitted
ci(build/windows): add support for arm64
nsis does not support arm64, so we cannot create an installer at this time Signed-off-by: Coia Prant <[email protected]> Co-authored-by: ReenigneArcher <[email protected]>
1 parent 7134161 commit b720ab7

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

.github/workflows/ci-windows.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ jobs:
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

Comments
 (0)