@@ -72,17 +72,23 @@ jobs:
72
72
check-for-missing-dlls : ${{ steps.set-matrix.outputs.check-for-missing-dlls }}
73
73
build-packages :
74
74
needs : determine-packages
75
- runs-on : windows-latest
76
75
if : needs.determine-packages.outputs.matrix != '[""]'
77
76
strategy :
78
77
fail-fast : false
79
78
matrix :
80
79
directory : ${{ fromJSON(needs.determine-packages.outputs.matrix) }}
80
+ architecture :
81
+ - name : x86_64
82
+ runner : windows-latest
83
+ - name : aarch64
84
+ runner : windows-11-arm
85
+ runs-on : ${{ matrix.architecture.runner }}
81
86
steps :
82
87
- uses : actions/checkout@v4
83
88
- uses : git-for-windows/setup-git-for-windows-sdk@v1
84
89
with :
85
90
flavor : full
91
+ architecture : ${{ matrix.architecture.name }}
86
92
- name : build ${{ matrix.directory }}
87
93
id : build
88
94
shell : bash
@@ -112,31 +118,42 @@ jobs:
112
118
fi
113
119
build-artifacts :
114
120
needs : determine-packages
115
- runs-on : windows-latest
116
121
if : needs.determine-packages.outputs.artifacts != '[""]'
117
122
strategy :
118
123
fail-fast : false
119
124
matrix :
120
125
directory : ${{ fromJSON(needs.determine-packages.outputs.artifacts) }}
126
+ architecture :
127
+ - name : x86_64
128
+ runner : windows-latest
129
+ git-sdk : git-sdk-64
130
+ mingw-prefix : mingw64
131
+ msystem : MINGW64
132
+ - name : aarch64
133
+ runner : windows-11-arm
134
+ git-sdk : git-sdk-arm64
135
+ mingw-prefix : clangarm64
136
+ msystem : CLANGARM64
137
+ runs-on : ${{ matrix.architecture.runner }}
121
138
steps :
122
139
- uses : actions/checkout@v4
123
140
- name : initialize bare SDK clone
124
141
shell : bash
125
142
run : |
126
143
git clone --bare --depth=1 --single-branch --branch=main --filter=blob:none \
127
- https://github.com/git-for-windows/git-sdk-64 .sdk
144
+ https://github.com/git-for-windows/${{ matrix.architecture. git-sdk }} .sdk
128
145
- name : build build-installers-64 artifact
129
146
shell : bash
130
147
run : |
131
148
./please.sh create-sdk-artifact \
132
- --architecture=x86_64 \
149
+ --architecture=${{ matrix.architecture.name }} \
133
150
--sdk=.sdk \
134
151
--out=sdk-artifact \
135
152
build-installers &&
136
153
cygpath -aw "$PWD/sdk-artifact/usr/bin/core_perl" >>$GITHUB_PATH &&
137
154
cygpath -aw "$PWD/sdk-artifact/usr/bin" >>$GITHUB_PATH &&
138
- cygpath -aw "$PWD/sdk-artifact/mingw64 /bin" >>$GITHUB_PATH &&
139
- echo "MSYSTEM=MINGW64 " >>$GITHUB_ENV
155
+ cygpath -aw "$PWD/sdk-artifact/${{ matrix.architecture.mingw-prefix }} /bin" >>$GITHUB_PATH &&
156
+ echo "MSYSTEM=${{ matrix.architecture.msystem }} " >>$GITHUB_ENV
140
157
- name : build ${{ matrix.directory }}/
141
158
shell : bash
142
159
id : build
@@ -161,7 +178,7 @@ jobs:
161
178
exit 1
162
179
}
163
180
"$env:ProgramFiles\Git\usr\bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
164
- "$env:ProgramFiles\Git\mingw64 \bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
181
+ "$env:ProgramFiles\Git\${{ matrix.architecture.mingw-prefix }} \bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
165
182
- name : show installer log
166
183
# run this even if the installation failed (actually, _in particular_ when the installation failed)
167
184
if : always() && matrix.directory == 'installer'
@@ -195,7 +212,7 @@ jobs:
195
212
}
196
213
Get-ChildItem -Path "portable-git"
197
214
"$PWD\portable-git\usr\bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
198
- "$PWD\portable-git\mingw64 \bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
215
+ "$PWD\portable-git\${{ matrix.architecture.mingw-prefix }} \bin" | Out-File -Encoding ascii -Append $env:GITHUB_PATH
199
216
- name : validate
200
217
if : matrix.directory == 'portable'
201
218
shell : bash
@@ -208,7 +225,6 @@ jobs:
208
225
sdk-artifacts :
209
226
needs : determine-packages
210
227
if : needs.determine-packages.outputs.test-sdk-artifacts == 'true'
211
- runs-on : windows-latest
212
228
strategy :
213
229
fail-fast : false
214
230
matrix :
@@ -218,10 +234,17 @@ jobs:
218
234
mingw-prefix : mingw32
219
235
msystem : MINGW32
220
236
sdk-repo : git-sdk-32
237
+ runner : windows-latest
221
238
- name : x86_64
222
239
mingw-prefix : mingw64
223
240
msystem : MINGW64
224
241
sdk-repo : git-sdk-64
242
+ runner : windows-latest
243
+ - name : aarch64
244
+ mingw-prefix : clangarm64
245
+ msystem : CLANGARM64
246
+ sdk-repo : git-sdk-arm64
247
+ runner : windows-11-arm
225
248
exclude :
226
249
- artifact : minimal
227
250
arch :
@@ -235,6 +258,7 @@ jobs:
235
258
mingw-prefix : mingw32
236
259
msystem : MINGW32
237
260
sdk-repo : git-sdk-32
261
+ runs-on : ${{ matrix.arch.runner }}
238
262
steps :
239
263
- uses : actions/checkout@v4
240
264
- name : initialize bare SDK clone
@@ -322,7 +346,6 @@ jobs:
322
346
check-for-missing-dlls :
323
347
needs : determine-packages
324
348
if : needs.determine-packages.outputs.test-sdk-artifacts == 'true' || needs.determine-packages.outputs.check-for-missing-dlls == 'true'
325
- runs-on : windows-latest
326
349
strategy :
327
350
fail-fast : false
328
351
matrix :
@@ -331,10 +354,18 @@ jobs:
331
354
mingw-prefix : mingw32
332
355
msystem : MINGW32
333
356
sdk-repo : git-sdk-32
357
+ runner : windows-latest
334
358
- name : x86_64
335
359
mingw-prefix : mingw64
336
360
msystem : MINGW64
337
361
sdk-repo : git-sdk-64
362
+ runner : windows-latest
363
+ - name : aarch64
364
+ mingw-prefix : clangarm64
365
+ msystem : CLANGARM64
366
+ sdk-repo : git-sdk-arm64
367
+ runner : windows-11-arm
368
+ runs-on : ${{ matrix.arch.runner }}
338
369
steps :
339
370
- uses : actions/checkout@v4
340
371
- name : initialize bare SDK clone
0 commit comments