@@ -77,10 +77,12 @@ jobs:
77
77
SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
78
78
BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
79
79
run : |
80
- # Skip dynamic library dependencies that might make it harder to
81
- # run the binaries on other distros (and that have little use within
82
- # llvm-mingw).
83
- LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $(pwd)/install/llvm-mingw --stage1
80
+ curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250717/llvm-mingw-20250717-ucrt-ubuntu-22.04-x86_64.tar.xz
81
+ tar -Jxf llvm-mingw-*.tar.xz
82
+ rm llvm-mingw-*.tar.xz
83
+ mkdir install
84
+ mv llvm-mingw* install/llvm-mingw
85
+ ./install-wrappers.sh $(pwd)/install/llvm-mingw
84
86
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
85
87
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
86
88
./run-tests.sh $(pwd)/install/llvm-mingw
98
100
retention-days : 7
99
101
100
102
linux-profile :
103
+ if : false
101
104
needs : [prepare, linux-stage1]
102
105
runs-on : ubuntu-22.04
103
106
steps :
@@ -129,32 +132,23 @@ jobs:
129
132
130
133
# Build a cross compiler for Linux, targeting Windows.
131
134
linux :
132
- needs : [prepare, linux-stage1, linux-profile ]
135
+ needs : [prepare, linux-stage1]
133
136
runs-on : ubuntu-22.04
134
137
steps :
135
138
- uses : actions/checkout@v4
136
- - uses : actions/download-artifact@v4
137
- with :
138
- name : linux-stage1-ucrt-x86_64-toolchain
139
- - name : Unpack stage1 Clang
140
- run : |
141
- tar -Jxf llvm-mingw-*.tar.xz
142
- rm llvm-mingw-*.tar.xz
143
- sudo mv llvm-mingw* /opt/llvm-mingw
144
- - uses : actions/download-artifact@v4
145
- with :
146
- name : profile
147
139
- name : Build
148
140
env :
149
141
LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
150
142
TAG : ${{needs.prepare.outputs.TAG}}
151
143
SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
152
144
BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
153
145
run : |
154
- # Skip dynamic library dependencies that might make it harder to
155
- # run the binaries on other distros (and that have little use within
156
- # llvm-mingw).
157
- LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh /opt/llvm-mingw $(pwd)/install/llvm-mingw --thinlto --pgo --llvm-only
146
+ curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250717/llvm-mingw-20250717-ucrt-ubuntu-22.04-x86_64.tar.xz
147
+ tar -Jxf llvm-mingw-*.tar.xz
148
+ rm llvm-mingw-*.tar.xz
149
+ mkdir install
150
+ mv llvm-mingw* install/llvm-mingw
151
+ ./install-wrappers.sh $(pwd)/install/llvm-mingw
158
152
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
159
153
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
160
154
./run-tests.sh $(pwd)/install/llvm-mingw
@@ -174,36 +168,29 @@ jobs:
174
168
# Crosscompile the toolchain for running on Linux on a different architecture, bundle the runtime
175
169
# libraries that were built in the 'linux-stage1' step above.
176
170
linux-cross-aarch64 :
177
- needs : [linux-stage1, linux-profile, prepare]
171
+ needs : [linux-stage1, prepare]
178
172
runs-on : ubuntu-22.04
179
173
steps :
180
174
- uses : actions/checkout@v4
181
- - uses : actions/download-artifact@v4
182
- with :
183
- name : linux-stage1-ucrt-x86_64-toolchain
184
- - name : Unpack stage1 Clang
185
- run : |
186
- tar -Jxf llvm-mingw-*.tar.xz
187
- rm llvm-mingw-*.tar.xz
188
- sudo mv llvm-mingw* /opt/llvm-mingw
189
- - uses : actions/download-artifact@v4
190
- with :
191
- name : profile
192
175
- name : Build
193
176
env :
194
177
LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
195
178
MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
196
179
SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
197
180
run : |
198
181
sudo apt-get update && sudo apt-get install g++-aarch64-linux-gnu
199
- ./build-all.sh /opt/llvm-mingw $(pwd)/install/llvm-mingw --no-runtimes --host=aarch64-linux-gnu --thinlto --pgo
182
+ curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250717/llvm-mingw-20250717-ucrt-ubuntu-22.04-aarch64.tar.xz
183
+ tar -Jxf llvm-mingw-*.tar.xz
184
+ rm llvm-mingw-*.tar.xz
185
+ mkdir install
186
+ mv llvm-mingw* install/llvm-mingw
187
+ ./install-wrappers.sh $(pwd)/install/llvm-mingw --host=aarch64-linux-gnu
200
188
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
201
- - name : Assemble the cross-built toolchain
202
- run : |
203
- ./prepare-cross-toolchain-unix.sh /opt/llvm-mingw $(pwd)/install/llvm-mingw
204
189
- name : Test using the cross-built assembled toolchain
205
190
run : |
206
191
sudo apt-get update && sudo apt-get install qemu-user-static libc6-arm64-cross libstdc++6-arm64-cross
192
+ # Speed up this step by testing fewer architectures
193
+ export ARCHS="x86_64 aarch64"
207
194
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
208
195
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./run-tests.sh $(pwd)/install/llvm-mingw
209
196
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./run-cmake-tests.sh $(pwd)/install/llvm-mingw
@@ -232,7 +219,7 @@ jobs:
232
219
# to better catch such bugs early. This makes the first-stage toolchain built
233
220
# here in scheduled builds somewhat slower.
234
221
linux-asserts :
235
- if : github.event_name == 'schedule'
222
+ if : false
236
223
needs : [prepare]
237
224
runs-on : ubuntu-latest
238
225
steps :
@@ -261,6 +248,7 @@ jobs:
261
248
retention-days : 7
262
249
263
250
macos-stage1 :
251
+ if : false
264
252
needs : [prepare]
265
253
runs-on : macos-latest
266
254
steps :
@@ -290,21 +278,10 @@ jobs:
290
278
291
279
# Build a cross compiler for macOS, targeting Windows.
292
280
macos :
293
- needs : [prepare, macos-stage1, linux-profile ]
281
+ needs : [prepare]
294
282
runs-on : macos-latest
295
283
steps :
296
284
- uses : actions/checkout@v4
297
- - uses : actions/download-artifact@v4
298
- with :
299
- name : macos-llvm
300
- - name : Unpack stage1 Clang
301
- run : |
302
- tar -Jxf llvm-*.tar.xz
303
- rm llvm-*.tar.xz
304
- mv llvm* $HOME/llvm
305
- - uses : actions/download-artifact@v4
306
- with :
307
- name : profile
308
285
- name : Build
309
286
env :
310
287
LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
@@ -313,12 +290,12 @@ jobs:
313
290
SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
314
291
BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
315
292
run : |
316
- # Disable zstd and python. Both are available on the runners, but
317
- # installed with homebrew, and only available in the native (arm64)
318
- # form. Therefore, autodetection will pick them up, but linking
319
- # universal binaries fails as those libraries are unavailable in the
320
- # other (x86_64) architecture form.
321
- MACOS_REDIST=1 LLVM_CMAKEFLAGS="-DLLVM_ENABLE_ZSTD=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all .sh $HOME/llvm $ (pwd)/install/llvm-mingw --thinlto --pgo
293
+ curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250717/llvm-mingw-20250717-ucrt-macos-universal.tar.xz
294
+ tar -Jxf llvm-mingw-*.tar.xz
295
+ rm llvm-mingw-*.tar.xz
296
+ mkdir install
297
+ mv llvm-mingw* install/llvm-mingw
298
+ ./install-wrappers .sh $(pwd)/install/llvm-mingw
322
299
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
323
300
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
324
301
./run-tests.sh $(pwd)/install/llvm-mingw
@@ -371,10 +348,12 @@ jobs:
371
348
SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
372
349
BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
373
350
run : |
374
- if [ "${{matrix.sys}}" = "mingw64" ]; then
375
- ARGS="--disable-dylib"
376
- fi
377
- ./build-all.sh $(pwd)/install/llvm-mingw --disable-clang-tools-extra --disable-lldb $ARGS
351
+ curl -LO https://martin.st/temp/llvm-mingw-nightly-ucrt-msys2-${{matrix.sys}}.tar.xz
352
+ tar -Jxf llvm-mingw-*.tar.xz
353
+ rm llvm-mingw-*.tar.xz
354
+ mkdir install
355
+ mv llvm-mingw* install/llvm-mingw
356
+ ./install-wrappers.sh $(pwd)/install/llvm-mingw
378
357
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
379
358
./copy-msys-dependencies.sh $(pwd)/install/llvm-mingw ${{matrix.sys}}
380
359
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
@@ -395,7 +374,7 @@ jobs:
395
374
# llvm and make a proper standalone toolchain for Windows (for all 4
396
375
# architectures). The binaries built here match actual releases quite closely.
397
376
linux-cross-windows :
398
- needs : [linux-stage1, linux-profile, prepare]
377
+ needs : [linux-stage1, prepare]
399
378
runs-on : ubuntu-latest
400
379
strategy :
401
380
fail-fast : false
@@ -416,9 +395,6 @@ jobs:
416
395
sudo mv llvm-mingw* /opt/llvm-mingw
417
396
echo /opt/llvm-mingw/bin >> $GITHUB_PATH
418
397
- uses : actions/checkout@v4
419
- - uses : actions/download-artifact@v4
420
- with :
421
- name : profile
422
398
- name : Build
423
399
env :
424
400
LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
@@ -429,7 +405,12 @@ jobs:
429
405
BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
430
406
run : |
431
407
sudo apt-get update && sudo apt-get install libltdl-dev swig autoconf-archive
432
- ./build-cross-tools.sh /opt/llvm-mingw $(pwd)/install/llvm-mingw ${{matrix.arch}} --with-python --thinlto --pgo
408
+ curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250717/llvm-mingw-20250717-ucrt-${{matrix.arch}}.zip
409
+ unzip -q llvm-mingw-*.zip
410
+ rm llvm-mingw-*.zip
411
+ mkdir install
412
+ mv llvm-mingw-* install/llvm-mingw
413
+ ./install-wrappers.sh $(pwd)/install/llvm-mingw --host=${{matrix.arch}}-w64-mingw32
433
414
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
434
415
cd install
435
416
NAME=llvm-mingw-$TAG-${{matrix.crt}}-${{matrix.arch}}
0 commit comments