@@ -15,7 +15,7 @@ concurrency:
15
15
cancel-in-progress : true
16
16
17
17
jobs :
18
- build_cache :
18
+ build :
19
19
name : ${{ matrix.name }}
20
20
runs-on : ${{ matrix.os }}
21
21
strategy :
@@ -27,41 +27,47 @@ jobs:
27
27
compiler : clang
28
28
clang-runtime : ' 20'
29
29
cling : Off
30
+ cppyy : Off
30
31
llvm_enable_projects : " clang"
31
32
llvm_targets_to_build : " host"
32
- - name : osx15-arm-clang-clang-repl-19
33
+ - name : osx15-arm-clang-clang-repl-19-cppyy
33
34
os : macos-15
34
35
compiler : clang
35
36
clang-runtime : ' 19'
36
37
cling : Off
38
+ cppyy : On
37
39
llvm_enable_projects : " clang"
38
40
llvm_targets_to_build : " host"
39
- - name : osx15-arm-clang-clang-repl-18
41
+ - name : osx15-arm-clang-clang-repl-18-cppyy
40
42
os : macos-15
41
43
compiler : clang
42
44
clang-runtime : ' 18'
43
45
cling : Off
46
+ cppyy : On
44
47
llvm_enable_projects : " clang"
45
48
llvm_targets_to_build : " host"
46
- - name : osx15-arm-clang-clang-repl-17
49
+ - name : osx15-arm-clang-clang-repl-17-cppyy
47
50
os : macos-15
48
51
compiler : clang
49
52
clang-runtime : ' 17'
50
53
cling : Off
54
+ cppyy : On
51
55
llvm_enable_projects : " clang"
52
56
llvm_targets_to_build : " host"
53
57
- name : osx15-arm-clang-clang-repl-16
54
58
os : macos-15
55
59
compiler : clang
56
60
clang-runtime : ' 16'
57
61
cling : Off
62
+ cppyy : Off
58
63
llvm_enable_projects : " clang"
59
64
llvm_targets_to_build : " host"
60
- - name : osx15-arm-clang-clang18-cling
65
+ - name : osx15-arm-clang-clang18-cling-cppyy
61
66
os : macos-15
62
67
compiler : clang
63
68
clang-runtime : ' 18'
64
69
cling : On
70
+ cppyy : On
65
71
cling-version : ' 1.2'
66
72
llvm_enable_projects : " clang"
67
73
llvm_targets_to_build : " host;NVPTX"
@@ -104,17 +110,14 @@ jobs:
104
110
llvm-project
105
111
${{ matrix.cling=='On' && 'cling' || '' }}
106
112
key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}
107
- lookup-only : true
108
113
109
114
- name : Setup default Build Type
110
- if : ${{ steps.cache.outputs.cache-hit != 'true' }}
111
115
run : |
112
116
echo "BUILD_TYPE=Release" >> $GITHUB_ENV
113
117
echo "CODE_COVERAGE=0" >> $GITHUB_ENV
114
118
echo "ncpus=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
115
119
116
120
- name : Setup compiler
117
- if : ${{ steps.cache.outputs.cache-hit != 'true' }}
118
121
run : |
119
122
vers="${compiler#*-}"
120
123
if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
@@ -145,18 +148,22 @@ jobs:
145
148
compiler : ${{ matrix.compiler }}
146
149
147
150
- name : Install deps
148
- if : ${{ steps.cache.outputs.cache-hit != 'true' }}
149
151
run : |
150
- brew update
152
+ brew update --force
151
153
brew remove unxip
152
154
# workaround for https://github.com/actions/setup-python/issues/577
153
155
for pkg in $(brew list | grep '^python@'); do
154
156
brew unlink "$pkg"
155
157
brew link --overwrite "$pkg"
156
158
done
157
159
brew upgrade openssl >/dev/null 2>&1
158
- brew upgrade
160
+ brew upgrade --force
159
161
brew install ninja
162
+ brew install eigen
163
+ brew install boost
164
+ brew install gnu-sed
165
+ pip install distro pytest
166
+
160
167
161
168
- uses : ./.github/actions/Build_LLVM
162
169
with :
@@ -171,143 +178,6 @@ jobs:
171
178
${{ matrix.cling=='On' && 'cling' || '' }}
172
179
key : ${{ steps.cache.outputs.cache-primary-key }}
173
180
174
- cppinterop_and_cppyy_build :
175
- needs : [build_cache]
176
- name : ${{ matrix.name }}
177
- runs-on : ${{ matrix.os }}
178
- strategy :
179
- fail-fast : false
180
- matrix :
181
- include :
182
- - name : osx15-arm-clang-clang-repl-20
183
- os : macos-15
184
- compiler : clang
185
- clang-runtime : ' 20'
186
- cling : Off
187
- cppyy : Off
188
- - name : osx15-arm-clang-clang-repl-19-cppyy
189
- os : macos-15
190
- compiler : clang
191
- clang-runtime : ' 19'
192
- cling : Off
193
- cppyy : On
194
- - name : osx15-arm-clang-clang-repl-18-cppyy
195
- os : macos-15
196
- compiler : clang
197
- clang-runtime : ' 18'
198
- cling : Off
199
- cppyy : On
200
- - name : osx15-arm-clang-clang-repl-17-cppyy
201
- os : macos-15
202
- compiler : clang
203
- clang-runtime : ' 17'
204
- cling : Off
205
- cppyy : On
206
- - name : osx15-arm-clang-clang-repl-16
207
- os : macos-15
208
- compiler : clang
209
- clang-runtime : ' 16'
210
- cling : Off
211
- cppyy : Off
212
- - name : osx15-arm-clang-clang18-cling-cppyy
213
- os : macos-15
214
- compiler : clang
215
- clang-runtime : ' 18'
216
- cling : On
217
- cling-version : ' 1.2'
218
- cppyy : On
219
-
220
- steps :
221
- - uses : actions/checkout@v4
222
- with :
223
- fetch-depth : 0
224
-
225
- - name : Set up Python
226
- uses : actions/setup-python@v5
227
- with :
228
- python-version : ' 3.11'
229
-
230
- - name : Save PR Info
231
- run : |
232
- mkdir -p ./pr
233
- echo ${{ github.event.number }} > ./pr/NR
234
- echo ${{ github.repository }} > ./pr/REPO
235
-
236
- cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
237
- if [[ "$cling_on" == "ON" ]]; then
238
- export CLING_HASH=$(git ls-remote https://github.com/root-project/cling.git refs/tags/v${{ matrix.cling-version }} | tr '\t' '-')
239
- export LLVM_HASH=$(git ls-remote https://github.com/root-project/llvm-project.git cling-llvm${{ matrix.clang-runtime}} | tr '\t' '-')
240
- else
241
- export CLING_HASH="Repl"
242
- # May need to revert back to both having same llvm_hash, as below cause llvm to be rebuilt everytime commit is made to llvm/llvm-project for release a.x
243
- # which could be quite often for new releases
244
- export LLVM_HASH=$(git ls-remote https://github.com/llvm/llvm-project.git refs/heads/release/${{ matrix.clang-runtime}}.x | tr '\t' '-')
245
- fi
246
-
247
- echo "CLING_HASH=$CLING_HASH" >> $GITHUB_ENV
248
- echo "LLVM_HASH=$LLVM_HASH" >> $GITHUB_ENV
249
-
250
- - name : Setup default Build Type
251
- run : |
252
- echo "BUILD_TYPE=Release" >> $GITHUB_ENV
253
- echo "CODE_COVERAGE=0" >> $GITHUB_ENV
254
- echo "ncpus=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
255
-
256
- - name : Setup compiler
257
- run : |
258
- vers="${compiler#*-}"
259
- if [[ "${{ matrix.compiler }}" == *"gcc"* ]]; then
260
- brew install "gcc@$vers"
261
- echo "CC=gcc-${vers}" >> $GITHUB_ENV
262
- echo "CXX=g++-${vers}" >> $GITHUB_ENV
263
- else
264
- cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
265
- if [[ "${cling_on}" == "ON" ]]; then
266
- brew install llvm@15
267
- brew remove llvm@18
268
- brew cleanup
269
- #FIXME: Do not believe setting all these environment variables are necessary
270
- # They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
271
- echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
272
- echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
273
- echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
274
- echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
275
- echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
276
- echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
277
- else
278
- echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
279
- echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
280
- fi
281
- fi
282
- echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
283
- env :
284
- compiler : ${{ matrix.compiler }}
285
-
286
- - name : Install deps
287
- run : |
288
- brew update --force
289
- brew remove unxip
290
- # workaround for https://github.com/actions/setup-python/issues/577
291
- for pkg in $(brew list | grep '^python@'); do
292
- brew unlink "$pkg"
293
- brew link --overwrite "$pkg"
294
- done
295
- brew upgrade --force
296
- brew install eigen
297
- brew install boost
298
- brew install gnu-sed
299
- pip install distro pytest
300
-
301
-
302
- - name : Restore Cache LLVM/Clang runtime build directory
303
- uses : actions/cache/restore@v4
304
- id : cache
305
- with :
306
- path : |
307
- llvm-project
308
- ${{ matrix.cling=='On' && 'cling' || '' }}
309
- key : ${{ env.CLING_HASH }}-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}-clang-${{ matrix.clang-runtime }}.x-patch-${{ hashFiles(format('patches/llvm/clang{0}-*.patch', matrix.clang-runtime)) || 'none' }}
310
-
311
181
- uses : ./.github/actions/Build_and_Test_CppInterOp
312
182
313
183
- uses : ./.github/actions/Build_and_Test_cppyy
0 commit comments