@@ -21,25 +21,22 @@ jobs:
2121 fail-fast : false
2222 matrix :
2323 include :
24- - name : ubu24-arm-gcc12- clang-repl-19-emscripten
24+ - name : ubu24-arm-clang-repl-19-emscripten
2525 os : ubuntu-24.04-arm
26- compiler : gcc-12
2726 clang-runtime : ' 19'
2827 cling : Off
2928 llvm_enable_projects : " clang;lld"
3029 llvm_targets_to_build : " WebAssembly"
3130 emsdk_ver : " 3.1.73"
32- - name : osx15-arm-clang-clang- repl-19-emscripten
31+ - name : osx15-arm-clang-repl-19-emscripten
3332 os : macos-15
34- compiler : clang
3533 clang-runtime : ' 19'
3634 cling : Off
3735 llvm_enable_projects : " clang;lld"
3836 llvm_targets_to_build : " WebAssembly"
3937 emsdk_ver : " 3.1.73"
40- - name : ubu24-x86-gcc12- clang-repl-19-emscripten
38+ - name : ubu24-x86-clang-repl-19-emscripten
4139 os : ubuntu-24.04
42- compiler : gcc-12
4340 clang-runtime : ' 19'
4441 cling : Off
4542 llvm_enable_projects : " clang;lld"
@@ -112,7 +109,7 @@ jobs:
112109 path : |
113110 llvm-project
114111 ${{ matrix.cling=='On' && 'cling' || '' }}
115- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}- clang-${{ matrix.clang-runtime }}.x-emscripten
112+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-clang-${{ matrix.clang-runtime }}.x-emscripten
116113 lookup-only : true
117114
118115 - name : Setup emsdk
@@ -127,12 +124,6 @@ jobs:
127124 run : |
128125 echo "BUILD_TYPE=Release" >> $GITHUB_ENV
129126 echo "CODE_COVERAGE=0" >> $GITHUB_ENV
130- os="${{ matrix.os }}"
131- if [[ "${os}" == "macos"* ]]; then
132- echo "ncpus=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
133- else
134- echo "ncpus=$(nproc --all)" >> $GITHUB_ENV
135- fi
136127
137128 - name : Setup default Build Type on Windows
138129 if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
@@ -142,92 +133,6 @@ jobs:
142133 $env:ncpus=$([Environment]::ProcessorCount)
143134 echo "ncpus=$env:ncpus" >> $env:GITHUB_ENV
144135
145- - name : Setup compiler on Linux
146- if : ${{ runner.os == 'Linux' && steps.cache.outputs.cache-hit != 'true' }}
147- run : |
148- # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
149- vers="${compiler#*-}"
150- os_codename="`cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2`"
151- ##sudo apt update
152- if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
153- sudo apt install -y gcc-${vers} g++-${vers} lld
154- echo "CC=gcc-${vers}" >> $GITHUB_ENV
155- echo "CXX=g++-${vers}" >> $GITHUB_ENV
156- else
157- if ! sudo apt install -y clang-${vers}; then
158- curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
159- echo "deb https://apt.llvm.org/${os_codename}/ llvm-toolchain-${os_codename}-${vers} main" | sudo tee -a /etc/apt/sources.list
160- sudo apt-get update
161- sudo apt-get install -y clang-${vers}
162- fi
163- echo "CC=clang-${vers}" >> $GITHUB_ENV
164- echo "CXX=clang++-${vers}" >> $GITHUB_ENV
165- fi
166- env :
167- compiler : ${{ matrix.compiler }}
168-
169- - name : Setup compiler on macOS
170- if : ${{ runner.os == 'macOS' && steps.cache.outputs.cache-hit != 'true' }}
171- run : |
172- vers="${compiler#*-}"
173- if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
174- brew install "gcc@$vers"
175- echo "CC=gcc-${vers}" >> $GITHUB_ENV
176- echo "CXX=g++-${vers}" >> $GITHUB_ENV
177- else
178- export ARCHITECHURE=$(uname -m)
179- if [[ "$ARCHITECHURE" == "arm64" ]]; then
180- cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
181- if [[ "${cling_on}" == "ON" ]]; then
182- brew install llvm@15
183- brew remove llvm@18
184- brew cleanup
185- #FIXME: Do not believe setting all these environment variables are necessary
186- # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
187- echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
188- echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
189- echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
190- echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
191- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
192- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
193- else
194- echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
195- echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
196- fi
197- else
198- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
199- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
200- fi
201- fi
202- echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
203- env :
204- compiler : ${{ matrix.compiler }}
205-
206- # Section slightly modified version of
207- # https://github.com/vgvassilev/clad/blob/40d8bec11bde47b14a281078183a4f6147abeac5/.github/workflows/ci.yml#L510C1-L534C10
208- - name : Setup compiler on Windows
209- if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
210- run : |
211- if ( "${{ matrix.compiler }}" -imatch "clang" )
212- {
213- $ver="${{ matrix.compiler }}".split("-")[1]
214- choco install llvm --version=$ver --no-progress -my
215- clang --version
216- #
217- $env:CC="clang"
218- $env:CXX="clang++"
219- echo "CC=clang" >> $env:GITHUB_ENV
220- echo "CXX=clang++" >> $env:GITHUB_ENV
221- }
222- elseif ( "${{ matrix.compiler }}" -imatch "msvc" )
223- {
224- # MSVC is builtin in container image
225- }
226- else
227- {
228- echo "Unsupported compiler - fix YAML file"
229- }
230-
231136 - name : Install deps on Windows
232137 if : ${{ runner.os == 'windows' && steps.cache.outputs.cache-hit != 'true' }}
233138 run : |
@@ -299,8 +204,11 @@ jobs:
299204 -DLLVM_INCLUDE_TESTS=OFF \
300205 -DLLVM_ENABLE_THREADS=OFF \
301206 -G Ninja \
207+ -DLLVM_BUILD_TOOLS=OFF \
208+ -DLLVM_ENABLE_LIBPFM=OFF \
209+ -DCLANG_BUILD_TOOLS=OFF \
302210 ../llvm
303- emmake ninja clang cling lld gtest_main -j ${{ env.ncpus }}
211+ emmake ninja clang cling lld gtest_main
304212 else
305213 # Apply patches
306214 llvm_vers=$(echo "${{ matrix.clang-runtime }}" | tr '[:lower:]' '[:upper:]')
@@ -325,10 +233,14 @@ jobs:
325233 -DLLVM_INCLUDE_EXAMPLES=OFF \
326234 -DLLVM_INCLUDE_TESTS=OFF \
327235 -DLLVM_ENABLE_THREADS=OFF \
236+ -DLLVM_BUILD_TOOLS=OFF \
237+ -DLLVM_ENABLE_LIBPFM=OFF \
238+ -DCLANG_BUILD_TOOLS=OFF \
328239 -G Ninja \
329240 ../llvm
330- emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm -j ${{ env.ncpus }}
241+ emmake ninja libclang clangInterpreter clangStaticAnalyzerCore lldWasm
331242 fi
243+ rm -rf ./NATIVE/
332244 cd ../
333245 rm -rf $(find . -maxdepth 1 ! -name "build" ! -name "llvm" ! -name "clang" ! -name ".")
334246 if [[ "${cling_on}" == "ON" ]]; then
@@ -457,23 +369,20 @@ jobs:
457369 fail-fast : false
458370 matrix :
459371 include :
460- - name : ubu24-x86-gcc12- clang-repl-19-emscripten_wasm
372+ - name : ubu24-x86-clang-repl-19-emscripten_wasm
461373 os : ubuntu-24.04
462- compiler : gcc-12
463374 clang-runtime : ' 19'
464375 cling : Off
465376 micromamba_shell_init : bash
466377 emsdk_ver : " 3.1.73"
467- - name : osx15-arm-clang-clang- repl-19-emscripten_wasm
378+ - name : osx15-arm-clang-repl-19-emscripten_wasm
468379 os : macos-15
469- compiler : clang
470380 clang-runtime : ' 19'
471381 cling : Off
472382 micromamba_shell_init : bash
473383 emsdk_ver : " 3.1.73"
474- - name : ubu24-arm-gcc12- clang-repl-19-emscripten_wasm
384+ - name : ubu24-arm-clang-repl-19-emscripten_wasm
475385 os : ubuntu-24.04-arm
476- compiler : gcc-12
477386 clang-runtime : ' 19'
478387 cling : Off
479388 micromamba_shell_init : bash
@@ -484,11 +393,6 @@ jobs:
484393 with :
485394 fetch-depth : 0
486395
487- - name : Set up Python
488- uses : actions/setup-python@v5
489- with :
490- python-version : ' 3.11'
491-
492396 - name : Save PR Info on Unix systems
493397 if : ${{ runner.os != 'windows' }}
494398 run : |
@@ -542,7 +446,7 @@ jobs:
542446 path : |
543447 llvm-project
544448 ${{ matrix.cling=='On' && 'cling' || '' }}
545- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}- clang-${{ matrix.clang-runtime }}.x-emscripten
449+ key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-clang-${{ matrix.clang-runtime }}.x-emscripten
546450
547451 - name : Emscripten build of CppInterOp on Unix systems
548452 if : ${{ runner.os != 'windows' }}
0 commit comments