Skip to content

Commit d14933a

Browse files
committed
github: Do two separate macOS builds in parallel, one for each architecture
The non-native one only builds the tools, not the runtimes.
1 parent 6ad3336 commit d14933a

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

.github/workflows/build.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,12 @@ jobs:
288288
macos:
289289
needs: [prepare, macos-stage1, linux-profile]
290290
runs-on: macos-latest
291+
strategy:
292+
fail-fast: false
293+
matrix:
294+
arch:
295+
- x86_64
296+
- arm64
291297
steps:
292298
- uses: actions/checkout@v4
293299
- uses: actions/download-artifact@v4
@@ -314,17 +320,19 @@ jobs:
314320
# form. Therefore, autodetection will pick them up, but linking
315321
# universal binaries fails as those libraries are unavailable in the
316322
# other (x86_64) architecture form.
317-
MACOS_REDIST=1 LLVM_CMAKEFLAGS="-DLLVM_ENABLE_ZSTD=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $HOME/llvm $(pwd)/install/llvm-mingw --thinlto --pgo
323+
MACOS_REDIST=1 MACOS_REDIST_ARCHS="${{matrix.arch}}" LLVM_CMAKEFLAGS="-DLLVM_ENABLE_ZSTD=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $HOME/llvm $(pwd)/install/llvm-mingw --thinlto --pgo ${{ matrix.arch != 'arm64' && '--no-runtimes' || '' }}
318324
.github/workflows/store-version.sh install/llvm-mingw/versions.txt
319-
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
320-
./run-tests.sh $(pwd)/install/llvm-mingw
325+
if ${{matrix.arch == 'arm64'}}; then
326+
./test-libcxx-module.sh $(pwd)/install/llvm-mingw
327+
./run-tests.sh $(pwd)/install/llvm-mingw
328+
fi
321329
cd install
322-
NAME=llvm-mingw-$TAG-ucrt-macos-universal
330+
NAME=llvm-mingw-$TAG-ucrt-macos-${{matrix.arch}}
323331
mv llvm-mingw $NAME
324332
gtar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
325333
- uses: actions/upload-artifact@v4
326334
with:
327-
name: macos-ucrt-toolchain
335+
name: macos-ucrt-${{matrix.arch}}-toolchain
328336
path: |
329337
llvm-mingw-*.tar.xz
330338
retention-days: 7

0 commit comments

Comments
 (0)