Skip to content

Commit 60a2d9c

Browse files
authored
Update ci.yml to use MacOS 15 for arm osx jobs (#364)
1 parent 41ea1c5 commit 60a2d9c

File tree

1 file changed

+72
-35
lines changed

1 file changed

+72
-35
lines changed

.github/workflows/ci.yml

Lines changed: 72 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -86,40 +86,40 @@ jobs:
8686
cppyy: Off
8787
llvm_enable_projects: "clang"
8888
llvm_targets_to_build: "host;NVPTX"
89-
- name: osx14-arm-clang-clang-repl-19
90-
os: macos-14
89+
- name: osx15-arm-clang-clang-repl-19
90+
os: macos-15
9191
compiler: clang
9292
clang-runtime: '19'
9393
cling: Off
9494
cppyy: On
9595
llvm_enable_projects: "clang;lld"
9696
llvm_targets_to_build: "WebAssembly;host;NVPTX"
97-
- name: osx14-arm-clang-clang-repl-18
98-
os: macos-14
97+
- name: osx15-arm-clang-clang-repl-18
98+
os: macos-15
9999
compiler: clang
100100
clang-runtime: '18'
101101
cling: Off
102102
cppyy: On
103103
llvm_enable_projects: "clang"
104104
llvm_targets_to_build: "host;NVPTX"
105-
- name: osx14-arm-clang-clang-repl-17
106-
os: macos-14
105+
- name: osx15-arm-clang-clang-repl-17
106+
os: macos-15
107107
compiler: clang
108108
clang-runtime: '17'
109109
cling: Off
110110
cppyy: On
111111
llvm_enable_projects: "clang"
112112
llvm_targets_to_build: "host;NVPTX"
113-
- name: osx14-arm-clang-clang-repl-16
114-
os: macos-14
113+
- name: osx15-arm-clang-clang-repl-16
114+
os: macos-15
115115
compiler: clang
116116
clang-runtime: '16'
117117
cling: Off
118118
cppyy: On
119119
llvm_enable_projects: "clang"
120120
llvm_targets_to_build: "host;NVPTX"
121-
- name: osx14-arm-clang-clang13-cling
122-
os: macos-14
121+
- name: osx15-arm-clang-clang13-cling
122+
os: macos-15
123123
compiler: clang
124124
clang-runtime: '13'
125125
cling: On
@@ -291,13 +291,31 @@ jobs:
291291
echo "CC=gcc-${vers}" >> $GITHUB_ENV
292292
echo "CXX=g++-${vers}" >> $GITHUB_ENV
293293
else
294-
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
295-
#Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
296-
#provided by MacOS (could brew install clang-16/17 to use consistent version
297-
#of clang)
298-
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
299-
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
294+
export ARCHITECHURE=$(uname -m)
295+
if [[ "$ARCHITECHURE" == "arm64" ]]; then
296+
cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
297+
if [[ "${cling_on}" == "ON" ]]; then
298+
brew install llvm@15
299+
brew remove llvm@18
300+
brew cleanup
301+
#FIXME: Do not believe setting all these environment variables are necessary
302+
# They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
303+
echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
304+
echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
305+
echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
306+
echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
307+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
308+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
309+
else
310+
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
311+
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
312+
fi
313+
else
314+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
315+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
316+
fi
300317
fi
318+
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
301319
env:
302320
compiler: ${{ matrix.compiler }}
303321

@@ -345,10 +363,11 @@ jobs:
345363
if: ${{ runner.os == 'macOS' && steps.cache.outputs.cache-hit != 'true' }}
346364
run: |
347365
brew update
348-
brew remove [email protected]
349366
export ARCHITECHURE=$(uname -m)
350367
if [[ "$ARCHITECHURE" != "x86_64" ]]; then
351368
brew remove unxip
369+
else
370+
brew remove [email protected]
352371
fi
353372
# workaround for https://github.com/actions/setup-python/issues/577
354373
for pkg in $(brew list | grep '^python@'); do
@@ -585,32 +604,32 @@ jobs:
585604
# clang-runtime: '17'
586605
# cling: Off
587606
# cppyy: On
588-
- name: osx14-arm-clang-clang-repl-19-cppyy
589-
os: macos-14
607+
- name: osx15-arm-clang-clang-repl-19-cppyy
608+
os: macos-15
590609
compiler: clang
591610
clang-runtime: '19'
592611
cling: Off
593612
cppyy: On
594-
- name: osx14-arm-clang-clang-repl-18-cppyy
595-
os: macos-14
613+
- name: osx15-arm-clang-clang-repl-18-cppyy
614+
os: macos-15
596615
compiler: clang
597616
clang-runtime: '18'
598617
cling: Off
599618
cppyy: On
600-
- name: osx14-arm-clang-clang-repl-17-cppyy
601-
os: macos-14
619+
- name: osx15-arm-clang-clang-repl-17-cppyy
620+
os: macos-15
602621
compiler: clang
603622
clang-runtime: '17'
604623
cling: Off
605624
cppyy: On
606-
- name: osx14-arm-clang-clang-repl-16
607-
os: macos-14
625+
- name: osx15-arm-clang-clang-repl-16
626+
os: macos-15
608627
compiler: clang
609628
clang-runtime: '16'
610629
cling: Off
611630
cppyy: Off
612-
- name: osx14-arm-clang-clang13-cling-cppyy
613-
os: macos-14
631+
- name: osx15-arm-clang-clang13-cling-cppyy
632+
os: macos-15
614633
compiler: clang
615634
clang-runtime: '13'
616635
cling: On
@@ -761,11 +780,29 @@ jobs:
761780
echo "CXX=g++-${vers}" >> $GITHUB_ENV
762781
else
763782
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
764-
#Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
765-
#provided by MacOS (could brew install clang-16/17 to use consistent version
766-
#of clang)
767-
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
768-
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
783+
export ARCHITECHURE=$(uname -m)
784+
if [[ "$ARCHITECHURE" == "arm64" ]]; then
785+
cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
786+
if [[ "${cling_on}" == "ON" ]]; then
787+
brew install llvm@15
788+
brew remove llvm@18
789+
brew cleanup
790+
#FIXME: Do not believe setting all these environment variables are necessary
791+
# They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
792+
echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
793+
echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
794+
echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
795+
echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
796+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
797+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
798+
else
799+
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
800+
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
801+
fi
802+
else
803+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
804+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
805+
fi
769806
fi
770807
env:
771808
compiler: ${{ matrix.compiler }}
@@ -813,9 +850,9 @@ jobs:
813850
if: runner.os == 'macOS'
814851
run: |
815852
brew update --force
816-
brew remove [email protected]
817853
export ARCHITECHURE=$(uname -m)
818854
if [[ "$ARCHITECHURE" == "x86_64" ]]; then
855+
brew remove [email protected]
819856
brew remove swiftlint
820857
else
821858
brew remove unxip
@@ -1149,8 +1186,8 @@ jobs:
11491186
cling: Off
11501187
micromamba_shell_init: bash
11511188
emsdk_ver: "3.1.45"
1152-
- name: osx14-arm-clang-clang-repl-19-emscripten_wasm
1153-
os: macos-14
1189+
- name: osx15-arm-clang-clang-repl-19-emscripten_wasm
1190+
os: macos-15
11541191
compiler: clang
11551192
clang-runtime: '19'
11561193
cling: Off

0 commit comments

Comments
 (0)