1- name : OSX 
1+ name : OSX-x86  
22
33on :
44  pull_request :
2222      fail-fast : false 
2323      matrix :
2424        include :
25-           - name : osx15-arm-clang-clang-repl-19 
26-             os : macos-15 
27-             compiler : clang 
28-             clang-runtime : ' 19' 
29-             cling : Off 
30-             llvm_enable_projects : " clang" 
31-             llvm_targets_to_build : " host" 
32-           - name : osx15-arm-clang-clang-repl-18 
33-             os : macos-15 
34-             compiler : clang 
35-             clang-runtime : ' 18' 
36-             cling : Off 
37-             llvm_enable_projects : " clang" 
38-             llvm_targets_to_build : " host" 
39-           - name : osx15-arm-clang-clang-repl-17 
40-             os : macos-15 
41-             compiler : clang 
42-             clang-runtime : ' 17' 
43-             cling : Off 
44-             llvm_enable_projects : " clang" 
45-             llvm_targets_to_build : " host" 
46-           - name : osx15-arm-clang-clang-repl-16 
47-             os : macos-15 
48-             compiler : clang 
49-             clang-runtime : ' 16' 
50-             cling : Off 
51-             llvm_enable_projects : " clang" 
52-             llvm_targets_to_build : " host" 
53-           - name : osx15-arm-clang-clang13-cling 
54-             os : macos-15 
55-             compiler : clang 
56-             clang-runtime : ' 13' 
57-             cling : On 
58-             cling-version : ' 1.0' 
59-             llvm_enable_projects : " clang" 
60-             llvm_targets_to_build : " host" 
6125          - name : osx13-x86-clang-clang-repl-19 
6226            os : macos-13 
6327            compiler : clang 
9357            cling : On 
9458            cling-version : ' 1.0' 
9559            llvm_enable_projects : " clang" 
96-             llvm_targets_to_build : " host" 
60+             llvm_targets_to_build : " host;NVPTX " 
9761
9862    steps :
9963    - uses : actions/checkout@v4 
@@ -151,29 +115,8 @@ jobs:
151115          echo "CC=gcc-${vers}" >> $GITHUB_ENV 
152116          echo "CXX=g++-${vers}" >> $GITHUB_ENV 
153117        else 
154-           export ARCHITECHURE=$(uname -m) 
155-           if [[ "$ARCHITECHURE" == "arm64" ]]; then 
156-             cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]') 
157-             if [[ "${cling_on}" == "ON" ]]; then   
158-                 brew install llvm@15 
159-                 brew remove llvm@18 
160-                 brew cleanup 
161-                 #FIXME: Do not believe setting all these environment variables are necessary 
162-                 #       They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests 
163-                 echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV 
164-                 echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV 
165-                 echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV 
166-                 echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV 
167-                 echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
168-                 echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
169-             else 
170-               echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV 
171-               echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV 
172-             fi 
173-           else 
174-             echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
175-             echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
176-           fi 
118+           echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
119+           echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
177120        fi 
178121        echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV 
179122       env :
@@ -183,12 +126,7 @@ jobs:
183126      if : ${{ steps.cache.outputs.cache-hit != 'true' }} 
184127      run : | 
185128        brew update 
186-         export ARCHITECHURE=$(uname -m) 
187-         if [[ "$ARCHITECHURE" != "x86_64" ]]; then 
188-           brew remove unxip 
189-         else 
190- 191-         fi 
129+ 192130        # workaround for https://github.com/actions/setup-python/issues/577 
193131        for pkg in $(brew list | grep '^python@'); do 
194132          brew unlink "$pkg" 
@@ -232,7 +170,7 @@ jobs:
232170                -G Ninja                                           \ 
233171                ../llvm 
234172          ninja clang -j ${{ env.ncpus }} 
235-           ninja cling  -j ${{ env.ncpus }} 
173+           ninja clingInterpreter  -j ${{ env.ncpus }} 
236174          # Now build gtest.a and gtest_main for CppInterOp to run its tests. 
237175          ninja gtest_main -j ${{ env.ncpus }} 
238176        else 
@@ -255,8 +193,15 @@ jobs:
255193                -DLLVM_ENABLE_TERMINFO=OFF                          \ 
256194                -DLLVM_ENABLE_LIBXML2=OFF                           \ 
257195                -G Ninja                                            \ 
196+                 -DLLVM_INCLUDE_BENCHMARKS=OFF                   \ 
197+                 -DLLVM_INCLUDE_EXAMPLES=OFF                     \ 
198+                 -DLLVM_INCLUDE_TESTS=OFF                        \ 
258199                ../llvm 
259-           ninja clang clang-repl -j ${{ env.ncpus }} 
200+           ninja clang clangInterpreter clangStaticAnalyzerCore -j ${{ env.ncpus }} 
201+           cd ./tools/ 
202+           rm -rf $(find . -maxdepth 1 ! -name "clang" ! -name ".") 
203+           cd .. 
204+           rm compile_commands.json build.ninja 
260205        fi 
261206        cd ../ 
262207        rm -rf $(find . -maxdepth 1 ! -name "build" ! -name "llvm" ! -name "clang" ! -name ".") 
@@ -291,37 +236,6 @@ jobs:
291236      fail-fast : false 
292237      matrix :
293238        include :
294-           - name : osx15-arm-clang-clang-repl-19-cppyy 
295-             os : macos-15 
296-             compiler : clang 
297-             clang-runtime : ' 19' 
298-             cling : Off 
299-             cppyy : On 
300-           - name : osx15-arm-clang-clang-repl-18-cppyy 
301-             os : macos-15 
302-             compiler : clang 
303-             clang-runtime : ' 18' 
304-             cling : Off 
305-             cppyy : On 
306-           - name : osx15-arm-clang-clang-repl-17-cppyy 
307-             os : macos-15 
308-             compiler : clang 
309-             clang-runtime : ' 17' 
310-             cling : Off 
311-             cppyy : On 
312-           - name : osx15-arm-clang-clang-repl-16 
313-             os : macos-15 
314-             compiler : clang 
315-             clang-runtime : ' 16' 
316-             cling : Off 
317-             cppyy : Off 
318-           - name : osx15-arm-clang-clang13-cling-cppyy 
319-             os : macos-15 
320-             compiler : clang 
321-             clang-runtime : ' 13' 
322-             cling : On 
323-             cling-version : ' 1.0' 
324-             cppyy : On 
325239          - name : osx13-x86-clang-clang-repl-19-cppyy 
326240            os : macos-13 
327241            compiler : clang 
@@ -398,44 +312,18 @@ jobs:
398312          echo "CC=gcc-${vers}" >> $GITHUB_ENV 
399313          echo "CXX=g++-${vers}" >> $GITHUB_ENV 
400314        else 
401-           echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV 
402-           export ARCHITECHURE=$(uname -m) 
403-           if [[ "$ARCHITECHURE" == "arm64" ]]; then 
404-             cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]') 
405-             if [[ "${cling_on}" == "ON" ]]; then   
406-                 brew install llvm@15 
407-                 brew remove llvm@18 
408-                 brew cleanup 
409-                 #FIXME: Do not believe setting all these environment variables are necessary 
410-                 #       They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests 
411-                 echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV 
412-                 echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV 
413-                 echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV 
414-                 echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV 
415-                 echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
416-                 echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
417-             else 
418-               echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV 
419-               echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV 
420-             fi 
421-           else 
422-             echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
423-             echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
424-           fi 
315+           echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV 
316+           echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV 
425317        fi 
318+         echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV 
426319       env :
427320        compiler : ${{ matrix.compiler }} 
428321
429322    - name : Install deps 
430323      run : | 
431324        brew update --force  
432-         export ARCHITECHURE=$(uname -m) 
433-         if [[ "$ARCHITECHURE" == "x86_64" ]]; then 
434- 435-           brew remove swiftlint 
436-         else 
437-           brew remove unxip 
438-         fi 
325+ 326+         brew remove swiftlint 
439327        # workaround for https://github.com/actions/setup-python/issues/577 
440328        for pkg in $(brew list | grep '^python@'); do 
441329          brew unlink "$pkg" 
@@ -444,6 +332,7 @@ jobs:
444332        brew upgrade --force  
445333        brew install eigen 
446334        brew install boost 
335+         brew install gnu-sed 
447336        pip install distro pytest 
448337         
449338
@@ -580,14 +469,14 @@ jobs:
580469        echo ::group::Crashing Test Logs 
581470        # See if we don't have a crash that went away 
582471        # Comment out all xfails but the ones that have a run=False condition. 
583-         find . -name "*.py" -exec sed  -i '/run=False/!s/^ *@mark.xfail\(.*\)/#&/' {} \; 
472+         find . -name "*.py" -exec gsed  -i '/run=False/!s/^ *@mark.xfail\(.*\)/#&/' {} \; 
584473        python -m pytest -n 1 -m "xfail" --runxfail -sv -ra --max-worker-restart 512 | tee test_crashed.log 2>&1 || true  
585474        git checkout . 
586475        echo ::endgroup:: 
587476        echo ::group::XFAIL Test Logs 
588477        # Rewrite all xfails that have a run clause to skipif. This way we will 
589478        # avoid conditionally crashing xfails 
590-         find . -name "*.py" -exec sed  -i -E 's/(^ *)@mark.xfail\(run=(.*)/\[email protected] (condition=not \2/g' {} \; 479+         find . -name "*.py" -exec gsed  -i -E 's/(^ *)@mark.xfail\(run=(.*)/\[email protected] (condition=not \2/g' {} \; 591480        # See if we don't have an xfail that went away 
592481        python -m pytest --runxfail -sv -ra  | tee test_xfailed.log 2>&1 || true  
593482        git checkout . 
0 commit comments