Skip to content

Commit 31e98b4

Browse files
committed
Update CI-ext
1 parent ecce78b commit 31e98b4

File tree

1 file changed

+64
-73
lines changed

1 file changed

+64
-73
lines changed

.github/workflows/ext-ci.yml

Lines changed: 64 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)