@@ -14,21 +14,18 @@ jobs:
1414 strategy :
1515 fail-fast : false
1616 matrix :
17- os : [ ubuntu-22.04, ubuntu-24.04 ]
18- llvm-version : [ 14, 18, 19 ]
1917 preset :
2018 - name : release-counter
2119 - name : release-safeptr-counter
2220 - name : release-unsafe-counter
23- exclude :
24- - llvm-version : 14
25- os : ubuntu-24.04
26- - llvm-version : 18
27- os : ubuntu-22.04
28- - llvm-version : 19
29- os : ubuntu-22.04
21+ platform :
22+ - { os: ubuntu-22.04, llvm-version: 14 }
23+ - { os: ubuntu-24.04, llvm-version: 18 }
24+ - { os: ubuntu-24.04, llvm-version: 19 }
25+ - { os: ubuntu-24.04, llvm-version: 20 }
26+ - { os: ubuntu-24.04, llvm-version: 21 }
3027
31- runs-on : ${{ matrix.os }}
28+ runs-on : ${{ matrix.platform. os }}
3229
3330 steps :
3431 - uses : actions/checkout@v5
@@ -41,29 +38,29 @@ jobs:
4138 path : test-bench
4239
4340 - name : LLVM apt
44- if : ${{ matrix.llvm-version = = 19 }}
41+ if : ${{ matrix.platform. llvm-version > = 19 }}
4542 run : |
4643 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
47- echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main" | sudo tee /etc/apt/sources.list.d/llvm-19 .list
44+ echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ matrix.platform.llvm-version }} main" | sudo tee /etc/apt/sources.list.d/llvm-${{ matrix.platform.llvm-version }} .list
4845
4946 - name : Update apt
5047 run : sudo apt-get update
5148
5249 - name : Install LLVM
53- run : sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
50+ run : sudo apt-get install libllvm${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform .llvm-version }}-dev
5451
5552 - name : Install Clang
56- run : sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
53+ run : sudo apt-get install clang-${{ matrix.platform. llvm-version }} clang-tidy-${{ matrix.platform .llvm-version }}
5754
5855 - name : Install OpenMPI
5956 run : sudo apt-get install libopenmpi-dev openmpi-bin
6057
6158 - name : Setup env
6259 run : |
63- sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
64- sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
65- echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
66- echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
60+ sudo ln -f -s /usr/bin/clang-${{ matrix.platform. llvm-version }} /usr/bin/clang
61+ sudo ln -f -s /usr/bin/clang++-${{ matrix.platform. llvm-version }} /usr/bin/clang++
62+ echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.platform. llvm-version }}/cmake" >> $GITHUB_ENV
63+ echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.platform.llvm-version >= 20 && 18 || matrix.platform. llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
6764
6865 - name : Configure TypeART
6966 run : cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
@@ -75,58 +72,55 @@ jobs:
7572
7673 - name : Setup tests
7774 working-directory : test-bench
78- run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
75+ run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/test-bench/artifact-${{ matrix.platform. llvm-version }} -DUSE_WRAPPER=ON
7976
8077 - name : Run lulesh
8178 working-directory : test-bench/build
82- run : ctest -V -R lulesh -O lulesh2.0_${{ matrix.llvm-version }}_build.log
79+ run : ctest -V -R lulesh -O lulesh2.0_${{ matrix.platform. llvm-version }}_build.log
8380
8481 - name : Run 104.milc
8582 working-directory : test-bench/build
86- run : ctest -V -R 104.milc -O 104.milc_${{ matrix.llvm-version }}_build.log
83+ run : ctest -V -R 104.milc -O 104.milc_${{ matrix.platform. llvm-version }}_build.log
8784
8885 - name : Run 122.tachyon
8986 working-directory : test-bench/build
90- run : ctest -V -R 122.tachyon -O 122.tachyon_${{ matrix.llvm-version }}_build.log
87+ run : ctest -V -R 122.tachyon -O 122.tachyon_${{ matrix.platform. llvm-version }}_build.log
9188
9289 - name : Run amg2013
9390 working-directory : test-bench/build
94- run : ctest -V -R amg2013 -O amg2013_${{ matrix.llvm-version }}_build.log
91+ run : ctest -V -R amg2013 -O amg2013_${{ matrix.platform. llvm-version }}_build.log
9592
9693 - name : Run tealeaf
9794 working-directory : test-bench/build
98- run : ctest -V -R tealeaf -O tealeaf_${{ matrix.llvm-version }}_build.log
95+ run : ctest -V -R tealeaf -O tealeaf_${{ matrix.platform. llvm-version }}_build.log
9996
10097 - name : Prepare artifact
10198 run : |
10299 mkdir -p artifact
103100 mv test-bench/build/*_build.log artifact
104- mv test-bench/artifact-${{ matrix.llvm-version }}/* artifact
101+ mv test-bench/artifact-${{ matrix.platform. llvm-version }}/* artifact
105102
106103 - name : Upload test-bench artifact
107104 uses : actions/upload-artifact@v4
108105 with :
109- name : typeart-ci-ext-${{ matrix.llvm-version }}-${{ matrix.preset.name }}
106+ name : typeart-ci-ext-${{ matrix.platform. llvm-version }}-${{ matrix.preset.name }}
110107 path : artifact
111108
112- run-AD-testbench :
109+ run-AD-testbench :
113110 strategy :
114111 fail-fast : false
115112 matrix :
116- os : [ ubuntu-22.04, ubuntu-24.04 ]
117- llvm-version : [ 14, 18, 19 ]
118113 preset :
119114 - name : release-counter
120115 - name : release-unsafe-counter
121- exclude :
122- - llvm-version : 14
123- os : ubuntu-24.04
124- - llvm-version : 18
125- os : ubuntu-22.04
126- - llvm-version : 19
127- os : ubuntu-22.04
116+ platform :
117+ - { os: ubuntu-22.04, llvm-version: 14 }
118+ - { os: ubuntu-24.04, llvm-version: 18 }
119+ - { os: ubuntu-24.04, llvm-version: 19 }
120+ - { os: ubuntu-24.04, llvm-version: 20 }
121+ - { os: ubuntu-24.04, llvm-version: 21 }
128122
129- runs-on : ${{ matrix.os }}
123+ runs-on : ${{ matrix.platform. os }}
130124
131125 steps :
132126 - uses : actions/checkout@v5
@@ -140,29 +134,29 @@ jobs:
140134 path : ad-test-bench
141135
142136 - name : LLVM apt
143- if : ${{ matrix.llvm-version = = 19 }}
137+ if : ${{ matrix.platform. llvm-version > = 19 }}
144138 run : |
145139 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
146- echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main" | sudo tee /etc/apt/sources.list.d/llvm-19 .list
140+ echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ matrix.platform.llvm-version }} main" | sudo tee /etc/apt/sources.list.d/llvm-${{ matrix.platform.llvm-version }} .list
147141
148142 - name : Update apt
149143 run : sudo apt-get update
150144
151145 - name : Install LLVM
152- run : sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
146+ run : sudo apt-get install libllvm${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform .llvm-version }}-dev
153147
154148 - name : Install Clang
155- run : sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
149+ run : sudo apt-get install clang-${{ matrix.platform. llvm-version }} clang-tidy-${{ matrix.platform .llvm-version }}
156150
157151 - name : Install OpenMPI
158152 run : sudo apt-get install libopenmpi-dev openmpi-bin
159153
160154 - name : Setup env
161155 run : |
162- sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
163- sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
164- echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
165- echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
156+ sudo ln -f -s /usr/bin/clang-${{ matrix.platform. llvm-version }} /usr/bin/clang
157+ sudo ln -f -s /usr/bin/clang++-${{ matrix.platform. llvm-version }} /usr/bin/clang++
158+ echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.platform. llvm-version }}/cmake" >> $GITHUB_ENV
159+ echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.platform.llvm-version >= 20 && 18 || matrix.platform. llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
166160
167161 - name : Configure TypeART
168162 run : cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
@@ -174,22 +168,22 @@ jobs:
174168
175169 - name : Setup AD tests
176170 working-directory : ad-test-bench
177- run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/ad-test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
171+ run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/ad-test-bench/artifact-${{ matrix.platform. llvm-version }} -DUSE_WRAPPER=ON
178172
179173 - name : Run AD lulesh
180174 working-directory : ad-test-bench/build
181- run : ctest -V -R lulesh -O ad-lulesh2.0_${{ matrix.llvm-version }}_build.log
175+ run : ctest -V -R lulesh -O ad-lulesh2.0_${{ matrix.platform. llvm-version }}_build.log
182176
183177 - name : Prepare artifact
184178 run : |
185179 mkdir -p artifact
186180 mv ad-test-bench/build/*_build.log artifact
187- mv ad-test-bench/artifact-${{ matrix.llvm-version }}/* artifact
181+ mv ad-test-bench/artifact-${{ matrix.platform. llvm-version }}/* artifact
188182
189183 - name : Upload AD test-bench artifact
190184 uses : actions/upload-artifact@v4
191185 with :
192- name : typeart-ci-ext-ad-${{ matrix.llvm-version }}-${{ matrix.preset.name }}
186+ name : typeart-ci-ext-ad-${{ matrix.platform. llvm-version }}-${{ matrix.preset.name }}
193187 path : artifact
194188
195189 run-OMP-testbench :
@@ -199,20 +193,17 @@ jobs:
199193 strategy :
200194 fail-fast : false
201195 matrix :
202- os : [ ubuntu-22.04, ubuntu-24.04 ]
203- llvm-version : [ 14, 18, 19 ]
204196 preset :
205197 - name : release-counter
206198 - name : release-safeptr-counter
207- exclude :
208- - llvm-version : 14
209- os : ubuntu-24.04
210- - llvm-version : 18
211- os : ubuntu-22.04
212- - llvm-version : 19
213- os : ubuntu-22.04
199+ platform :
200+ - { os: ubuntu-22.04, llvm-version: 14 }
201+ - { os: ubuntu-24.04, llvm-version: 18 }
202+ - { os: ubuntu-24.04, llvm-version: 19 }
203+ - { os: ubuntu-24.04, llvm-version: 20 }
204+ - { os: ubuntu-24.04, llvm-version: 21 }
214205
215- runs-on : ${{ matrix.os }}
206+ runs-on : ${{ matrix.platform. os }}
216207
217208 steps :
218209 - uses : actions/checkout@v5
@@ -226,32 +217,32 @@ jobs:
226217 path : omp-test-bench
227218
228219 - name : LLVM apt
229- if : ${{ matrix.llvm-version = = 19 }}
220+ if : ${{ matrix.platform. llvm-version > = 19 }}
230221 run : |
231222 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
232- echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main" | sudo tee /etc/apt/sources.list.d/llvm-19 .list
223+ echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ matrix.platform.llvm-version }} main" | sudo tee /etc/apt/sources.list.d/llvm-${{ matrix.platform.llvm-version }} .list
233224
234225 - name : Update apt
235226 run : sudo apt-get update
236227
237228 - name : Install LLVM
238- run : sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
229+ run : sudo apt-get install libllvm${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform. llvm-version }} llvm-${{ matrix.platform .llvm-version }}-dev
239230
240231 - name : Install Clang
241- run : sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
232+ run : sudo apt-get install clang-${{ matrix.platform. llvm-version }} clang-tidy-${{ matrix.platform .llvm-version }}
242233
243234 - name : Install OpenMPI
244235 run : sudo apt-get install libopenmpi-dev openmpi-bin
245236
246237 - name : Install LLVM OpenMP runtime
247- run : sudo apt-get install libomp-${{ matrix.llvm-version }}-dev libomp5-${{ matrix.llvm-version }}
238+ run : sudo apt-get install libomp-${{ matrix.platform. llvm-version }}-dev
248239
249240 - name : Setup env
250241 run : |
251- sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
252- sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
253- echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
254- echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
242+ sudo ln -f -s /usr/bin/clang-${{ matrix.platform. llvm-version }} /usr/bin/clang
243+ sudo ln -f -s /usr/bin/clang++-${{ matrix.platform. llvm-version }} /usr/bin/clang++
244+ echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.platform. llvm-version }}/cmake" >> $GITHUB_ENV
245+ echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.platform.llvm-version >= 20 && 18 || matrix.platform. llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
255246
256247 - name : Configure TypeART
257248 run : cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
@@ -263,24 +254,24 @@ jobs:
263254
264255 - name : Setup tests
265256 working-directory : omp-test-bench
266- run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/omp-test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
257+ run : cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/omp-test-bench/artifact-${{ matrix.platform. llvm-version }} -DUSE_WRAPPER=ON
267258
268259 - name : Run lulesh
269260 working-directory : omp-test-bench/build
270- run : ctest -V -R lulesh -O lulesh2.0_${{ matrix.llvm-version }}_build.log
261+ run : ctest -V -R lulesh -O lulesh2.0_${{ matrix.platform. llvm-version }}_build.log
271262
272263 - name : Run amg2013
273264 working-directory : omp-test-bench/build
274- run : ctest -V -R amg2013 -O amg2013_${{ matrix.llvm-version }}_build.log
265+ run : ctest -V -R amg2013 -O amg2013_${{ matrix.platform. llvm-version }}_build.log
275266
276267 - name : Prepare artifact
277268 run : |
278269 mkdir -p artifact
279270 mv omp-test-bench/build/*_build.log artifact
280- mv omp-test-bench/artifact-${{ matrix.llvm-version }}/* artifact
271+ mv omp-test-bench/artifact-${{ matrix.platform. llvm-version }}/* artifact
281272
282273 - name : Upload omp-test-bench artifact
283274 uses : actions/upload-artifact@v4
284275 with :
285- name : typeart-ci-ext-omp-${{ matrix.llvm-version }}-${{ matrix.preset.name }}
276+ name : typeart-ci-ext-omp-${{ matrix.platform. llvm-version }}-${{ matrix.preset.name }}
286277 path : artifact
0 commit comments