Skip to content

Commit b829703

Browse files
committed
Fix macos-15 ci cling job
Define ARCHITECHURE=$(uname -m) to pick compiler correctly on osx15 (ci) Install llvm15 to compile CppInterOp on osx15 cling jobs Remove llvm 18 ci osx15 cling job Try cleanup of brew Try switching to Xcode 15.4 osx15 cling ci job Add sudo to Xcode-select ci Update ci.yml Update ci.yml Update ci.yml Update ci.yml Update ci.yml Update ci.yml Debug Debug Update ci.yml Update ci.yml Update ci.yml Update ci.yml
1 parent 105d8c0 commit b829703

File tree

1 file changed

+37
-5
lines changed

1 file changed

+37
-5
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,15 +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
294+
export ARCHITECHURE=$(uname -m)
295295
if [[ "$ARCHITECHURE" == "arm64" ]]; then
296-
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
297-
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
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
298313
else
299314
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
300315
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
301316
fi
302317
fi
318+
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
303319
env:
304320
compiler: ${{ matrix.compiler }}
305321

@@ -764,9 +780,25 @@ jobs:
764780
echo "CXX=g++-${vers}" >> $GITHUB_ENV
765781
else
766782
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
783+
export ARCHITECHURE=$(uname -m)
767784
if [[ "$ARCHITECHURE" == "arm64" ]]; then
768-
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
769-
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
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
770802
else
771803
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
772804
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV

0 commit comments

Comments
 (0)