@@ -77,10 +77,12 @@ jobs:
7777 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
7878 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
7979 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
8486 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
8587 ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
8688 ./run-tests.sh $(pwd)/install/llvm-mingw
98100 retention-days : 7
99101
100102 linux-profile :
103+ if : false
101104 needs : [prepare, linux-stage1]
102105 runs-on : ubuntu-22.04
103106 steps :
@@ -129,32 +132,23 @@ jobs:
129132
130133 # Build a cross compiler for Linux, targeting Windows.
131134 linux :
132- needs : [prepare, linux-stage1, linux-profile ]
135+ needs : [prepare, linux-stage1]
133136 runs-on : ubuntu-22.04
134137 steps :
135138 - 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
147139 - name : Build
148140 env :
149141 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
150142 TAG : ${{needs.prepare.outputs.TAG}}
151143 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
152144 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
153145 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
158152 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
159153 ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
160154 ./run-tests.sh $(pwd)/install/llvm-mingw
@@ -174,36 +168,29 @@ jobs:
174168 # Crosscompile the toolchain for running on Linux on a different architecture, bundle the runtime
175169 # libraries that were built in the 'linux-stage1' step above.
176170 linux-cross-aarch64 :
177- needs : [linux-stage1, linux-profile, prepare]
171+ needs : [linux-stage1, prepare]
178172 runs-on : ubuntu-22.04
179173 steps :
180174 - 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
192175 - name : Build
193176 env :
194177 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
195178 MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
196179 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
197180 run : |
198181 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
200188 .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
204189 - name : Test using the cross-built assembled toolchain
205190 run : |
206191 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"
207194 QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
208195 QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./run-tests.sh $(pwd)/install/llvm-mingw
209196 QEMU_LD_PREFIX=/usr/aarch64-linux-gnu ./run-cmake-tests.sh $(pwd)/install/llvm-mingw
@@ -232,7 +219,7 @@ jobs:
232219 # to better catch such bugs early. This makes the first-stage toolchain built
233220 # here in scheduled builds somewhat slower.
234221 linux-asserts :
235- if : github.event_name == 'schedule'
222+ if : false
236223 needs : [prepare]
237224 runs-on : ubuntu-latest
238225 steps :
@@ -261,6 +248,7 @@ jobs:
261248 retention-days : 7
262249
263250 macos-stage1 :
251+ if : false
264252 needs : [prepare]
265253 runs-on : macos-latest
266254 steps :
@@ -290,21 +278,10 @@ jobs:
290278
291279 # Build a cross compiler for macOS, targeting Windows.
292280 macos :
293- needs : [prepare, macos-stage1, linux-profile ]
281+ needs : [prepare]
294282 runs-on : macos-latest
295283 steps :
296284 - 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
308285 - name : Build
309286 env :
310287 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
@@ -313,12 +290,12 @@ jobs:
313290 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
314291 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
315292 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
322299 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
323300 ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
324301 ./run-tests.sh $(pwd)/install/llvm-mingw
@@ -371,10 +348,12 @@ jobs:
371348 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
372349 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
373350 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
378357 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
379358 ./copy-msys-dependencies.sh $(pwd)/install/llvm-mingw ${{matrix.sys}}
380359 ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
@@ -395,7 +374,7 @@ jobs:
395374 # llvm and make a proper standalone toolchain for Windows (for all 4
396375 # architectures). The binaries built here match actual releases quite closely.
397376 linux-cross-windows :
398- needs : [linux-stage1, linux-profile, prepare]
377+ needs : [linux-stage1, prepare]
399378 runs-on : ubuntu-latest
400379 strategy :
401380 fail-fast : false
@@ -416,9 +395,6 @@ jobs:
416395 sudo mv llvm-mingw* /opt/llvm-mingw
417396 echo /opt/llvm-mingw/bin >> $GITHUB_PATH
418397 - uses : actions/checkout@v4
419- - uses : actions/download-artifact@v4
420- with :
421- name : profile
422398 - name : Build
423399 env :
424400 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
@@ -429,7 +405,12 @@ jobs:
429405 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
430406 run : |
431407 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
433414 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
434415 cd install
435416 NAME=llvm-mingw-$TAG-${{matrix.crt}}-${{matrix.arch}}
0 commit comments