@@ -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-clang16 -cling
122- os : macos-14
121+ - name : osx15 -arm-clang-clang13 -cling
122+ os : macos-15
123123 compiler : clang
124124 clang-runtime : ' 16'
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- 349366 export ARCHITECHURE=$(uname -m)
350367 if [[ "$ARCHITECHURE" != "x86_64" ]]; then
351368 brew remove unxip
369+ else
370+ 352371 fi
353372 # workaround for https://github.com/actions/setup-python/issues/577
354373 for pkg in $(brew list | grep '^python@'); do
@@ -603,32 +622,32 @@ jobs:
603622 # clang-runtime: '17'
604623 # cling: Off
605624 # cppyy: On
606- - name : osx14 -arm-clang-clang-repl-19-cppyy
607- os : macos-14
625+ - name : osx15 -arm-clang-clang-repl-19-cppyy
626+ os : macos-15
608627 compiler : clang
609628 clang-runtime : ' 19'
610629 cling : Off
611630 cppyy : On
612- - name : osx14 -arm-clang-clang-repl-18-cppyy
613- os : macos-14
631+ - name : osx15 -arm-clang-clang-repl-18-cppyy
632+ os : macos-15
614633 compiler : clang
615634 clang-runtime : ' 18'
616635 cling : Off
617636 cppyy : On
618- - name : osx14 -arm-clang-clang-repl-17-cppyy
619- os : macos-14
637+ - name : osx15 -arm-clang-clang-repl-17-cppyy
638+ os : macos-15
620639 compiler : clang
621640 clang-runtime : ' 17'
622641 cling : Off
623642 cppyy : On
624- - name : osx14 -arm-clang-clang-repl-16
625- os : macos-14
643+ - name : osx15 -arm-clang-clang-repl-16
644+ os : macos-15
626645 compiler : clang
627646 clang-runtime : ' 16'
628647 cling : Off
629648 cppyy : Off
630- - name : osx14 -arm-clang-clang16 -cling
631- os : macos-14
649+ - name : osx15 -arm-clang-clang13 -cling-cppyy
650+ os : macos-15
632651 compiler : clang
633652 clang-runtime : ' 16'
634653 cling : On
@@ -779,11 +798,29 @@ jobs:
779798 echo "CXX=g++-${vers}" >> $GITHUB_ENV
780799 else
781800 echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
782- #Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
783- #provided by MacOS (could brew install clang-16/17 to use consistent version
784- #of clang)
785- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
786- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
801+ export ARCHITECHURE=$(uname -m)
802+ if [[ "$ARCHITECHURE" == "arm64" ]]; then
803+ cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
804+ if [[ "${cling_on}" == "ON" ]]; then
805+ brew install llvm@15
806+ brew remove llvm@18
807+ brew cleanup
808+ #FIXME: Do not believe setting all these environment variables are necessary
809+ # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
810+ echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
811+ echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
812+ echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
813+ echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
814+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
815+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
816+ else
817+ echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
818+ echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
819+ fi
820+ else
821+ echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
822+ echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
823+ fi
787824 fi
788825 env :
789826 compiler : ${{ matrix.compiler }}
@@ -831,9 +868,9 @@ jobs:
831868 if : runner.os == 'macOS'
832869 run : |
833870 brew update --force
834- 835871 export ARCHITECHURE=$(uname -m)
836872 if [[ "$ARCHITECHURE" == "x86_64" ]]; then
873+ 837874 brew remove swiftlint
838875 else
839876 brew remove unxip
@@ -916,6 +953,7 @@ jobs:
916953 docs_on=$(echo "${{ matrix.documentation }}" | tr '[:lower:]' '[:upper:]')
917954 if [[ "${docs_on}" == "ON" ]]; then
918955 cmake --build . --target doxygen-cppinterop --parallel ${{ env.ncpus }}
956+ cmake --build . --target sphinx-cppinterop --parallel ${{ env.ncpus }}
919957 else
920958 cmake --build . --target check-cppinterop --parallel ${{ env.ncpus }}
921959 if [[ ("${os}" == "ubuntu"*) ]]; then
@@ -1165,18 +1203,21 @@ jobs:
11651203 clang-runtime : ' 19'
11661204 cling : Off
11671205 micromamba_shell_init : bash
1168- - name : osx14-arm-clang-clang-repl-19-emscripten_wasm
1169- os : macos-14
1206+ emsdk_ver : " 3.1.45"
1207+ - name : osx15-arm-clang-clang-repl-19-emscripten_wasm
1208+ os : macos-15
11701209 compiler : clang
11711210 clang-runtime : ' 19'
11721211 cling : Off
11731212 micromamba_shell_init : bash
1213+ emsdk_ver : " 3.1.45"
11741214 - name : osx13-x86-clang-clang-repl-19-emscripten_wasm
11751215 os : macos-13
11761216 compiler : clang
11771217 clang-runtime : ' 19'
11781218 cling : Off
11791219 micromamba_shell_init : bash
1220+ emsdk_ver : " 3.1.45"
11801221
11811222 steps :
11821223 - uses : actions/checkout@v4
@@ -1232,7 +1273,9 @@ jobs:
12321273 - name : Setup emsdk
12331274 shell : bash -l {0}
12341275 run : |
1235- emsdk install 3.1.45
1276+ git clone https://github.com/emscripten-core/emsdk.git
1277+ cd emsdk
1278+ ./emsdk install ${{ matrix.emsdk_ver }}
12361279
12371280 - name : Restore Cache LLVM/Clang runtime build directory
12381281 uses : actions/cache/restore@v4
@@ -1247,11 +1290,10 @@ jobs:
12471290 if : ${{ runner.os != 'windows' }}
12481291 shell : bash -l {0}
12491292 run : |
1250- emsdk activate 3.1.45
1251- source $CONDA_EMSDK_DIR /emsdk_env.sh
1293+ ./ emsdk/emsdk activate ${{matrix.emsdk_ver}}
1294+ source ./emsdk /emsdk_env.sh
12521295 micromamba create -f environment-wasm.yml --platform=emscripten-wasm32
12531296
1254- export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
12551297 export PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm
12561298 export CMAKE_PREFIX_PATH=$PREFIX
12571299 export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
@@ -1317,14 +1359,13 @@ jobs:
13171359 - name : Build xeus-cpp
13181360 shell : bash -l {0}
13191361 run : |
1320- emsdk activate 3.1.45
1321- source $CONDA_EMSDK_DIR /emsdk_env.sh
1362+ ./ emsdk/emsdk activate ${{matrix.emsdk_ver}}
1363+ source ./emsdk /emsdk_env.sh
13221364 micromamba activate CppInterOp-wasm
13231365 git clone https://github.com/compiler-research/xeus-cpp.git
13241366 cd ./xeus-cpp
13251367 mkdir build
13261368 pushd build
1327- export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
13281369 export CMAKE_PREFIX_PATH=${{ env.PREFIX }}
13291370 export CMAKE_SYSTEM_PREFIX_PATH=${{ env.PREFIX }}
13301371 emcmake cmake \
0 commit comments