Skip to content

Commit 9cb41f3

Browse files
committed
ci: add arm64 windows runner + MSYS2 clang + clangarm64
1 parent 0cc800e commit 9cb41f3

File tree

1 file changed

+37
-9
lines changed

1 file changed

+37
-9
lines changed

.github/workflows/build.yml

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,50 @@ jobs:
3131
static: true
3232
fatal_warnings: false # TODO: enable fatal warnings, once cpp-httplib is patched either by ourselves or by the maintainers
3333

34-
- name: Windows MingGW
34+
- name: Windows MSVC (ARM64, static)
35+
os: windows
36+
os-version: 11-arm
37+
environment: msvc
38+
shell: pwsh
39+
static: true
40+
fatal_warnings: false # TODO: enable fatal warnings, once cpp-httplib is patched either by ourselves or by the maintainers
41+
42+
- name: Windows MSYS2 (MingGW)
3543
os: windows
3644
os-version: 2025
37-
environment: mingw
45+
environment: msys2
46+
msystem: MINGW64
3847
architecture: x86_64
3948
shell: 'msys2 {0}'
4049
fatal_warnings: true
4150

42-
- name: Windows UCRT
51+
- name: Windows MSYS2 (UCRT)
4352
os: windows
4453
os-version: 2025
45-
environment: ucrt
54+
environment: msys2
55+
msystem: UCRT64
4656
architecture: ucrt-x86_64
4757
shell: 'msys2 {0}'
4858
fatal_warnings: true
4959

60+
- name: Windows MSYS2 (CLANG)
61+
os: windows
62+
os-version: 2025
63+
environment: msys2
64+
msystem: CLANG64
65+
architecture: clang-x86_64
66+
shell: 'msys2 {0}'
67+
fatal_warnings: true
68+
69+
- name: Windows MSYS2 (ARM64, CLANG)
70+
os: windows
71+
os-version: 11-arm
72+
environment: msys2
73+
msystem: CLANGARM64
74+
architecture: clang-x86_64
75+
shell: 'msys2 {0}'
76+
fatal_warnings: true
77+
5078
- name: Linux (ARM64)
5179
os: ubuntu
5280
os-version: 24.04-arm
@@ -112,10 +140,10 @@ jobs:
112140
toolset: '14.43'
113141

114142
- name: Setup MSYS2 (Windows)
115-
if: matrix.config.os == 'windows' && ( matrix.config.environment == 'mingw' || matrix.config.environment == 'ucrt' )
143+
if: matrix.config.os == 'windows' && matrix.config.environment == 'msys2'
116144
uses: msys2/setup-msys2@v2
117145
with:
118-
msystem: ${{matrix.config.environment == 'mingw' && 'MINGW64' || 'UCRT64'}}
146+
msystem: ${{matrix.config.msystem}}
119147
update: true
120148
install: >-
121149
mingw-w64-${{matrix.config.architecture}}-ninja
@@ -131,11 +159,11 @@ jobs:
131159
git
132160
133161
- name: Setup GCC (MSYS2)
134-
if: matrix.config.os == 'windows' && ( matrix.config.environment == 'mingw' || matrix.config.environment == 'ucrt' )
162+
if: matrix.config.os == 'windows' && matrix.config.environment == 'msys2'
135163
uses: Totto16/msys2-install-packages-pinned@v1
136164
with:
137-
msystem: ${{matrix.config.environment == 'mingw' && 'MINGW64' || 'UCRT64'}}
138-
# gcc-libs 14 don't provbide the virtual package cc-libs, only gcc-libs 15 (see https://github.com/msys2/MINGW-packages/commit/9fa882f7eb6f639780a13df016497a93e45544ac) provide it, so until we use gcc 15, nghttp3 < 1.10.1 needs to be used (see https://github.com/msys2/MINGW-packages/commit/16b7f94772f29f1c207764701d863d266a5de64c) since 1.10.1 needs cc-libs and not gcc-libs. The newest version matching that constraint is 1.9.0
165+
msystem: ${{matrix.config.msystem}}
166+
# gcc-libs 14 don't provide the virtual package cc-libs, only gcc-libs 15 (see https://github.com/msys2/MINGW-packages/commit/9fa882f7eb6f639780a13df016497a93e45544ac) provide it, so until we use gcc 15, nghttp3 < 1.10.1 needs to be used (see https://github.com/msys2/MINGW-packages/commit/16b7f94772f29f1c207764701d863d266a5de64c) since 1.10.1 needs cc-libs and not gcc-libs. The newest version matching that constraint is 1.9.0
139167
# for the other pavckages see https://github.com/msys2/MINGW-packages/commit/62308009e77d772a126313626b194e503b0e5135
140168
install: |
141169
nghttp3=1.9

0 commit comments

Comments
 (0)