Skip to content

Commit 340bcf6

Browse files
authored
Updates for LLVM 21 (#175)
1 parent acf5c0e commit 340bcf6

File tree

7 files changed

+143
-144
lines changed

7 files changed

+143
-144
lines changed

.github/workflows/basic-ci.yml

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,12 @@ jobs:
4848

4949
steps:
5050
- uses: actions/checkout@v5
51-
- uses: codespell-project/actions-codespell@v2
51+
- uses: codespell-project/actions-codespell@v2.2
5252

5353
lit-suite:
5454
strategy:
5555
fail-fast: false
5656
matrix:
57-
os: [ ubuntu-22.04, ubuntu-24.04 ]
58-
llvm-version: [ 14, 18, 19 ]
59-
typeart-typegen-legacy: [ 0, 1 ]
6057
preset:
6158
- name: ci-thread-safe-safeptr
6259
- name: ci-thread-safe
@@ -70,44 +67,40 @@ jobs:
7067
- name: ci-libcxx
7168
libcxx: true
7269
skip_test: true
73-
exclude:
74-
- llvm-version: 14
75-
os: ubuntu-24.04
76-
- llvm-version: 18
77-
os: ubuntu-22.04
78-
- llvm-version: 18
79-
typeart-typegen-legacy: 1
80-
- llvm-version: 19
81-
os: ubuntu-22.04
82-
- llvm-version: 19
83-
typeart-typegen-legacy: 1
84-
85-
runs-on: ${{ matrix.os }}
70+
platform:
71+
- { os: ubuntu-22.04, llvm-version: 14, typeart-typegen-legacy: 0 }
72+
- { os: ubuntu-22.04, llvm-version: 14, typeart-typegen-legacy: 1 }
73+
- { os: ubuntu-24.04, llvm-version: 18, typeart-typegen-legacy: 0 }
74+
- { os: ubuntu-24.04, llvm-version: 19, typeart-typegen-legacy: 0 }
75+
- { os: ubuntu-24.04, llvm-version: 20, typeart-typegen-legacy: 0 }
76+
- { os: ubuntu-24.04, llvm-version: 21, typeart-typegen-legacy: 0 }
77+
78+
runs-on: ${{ matrix.platform.os }}
8679

8780
steps:
8881
- uses: actions/checkout@v5
8982

9083
- name: LLVM apt
91-
if: ${{ matrix.llvm-version == 19 }}
84+
if: ${{ matrix.platform.llvm-version >= 19 }}
9285
run: |
9386
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
94-
echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main" | sudo tee /etc/apt/sources.list.d/llvm-19.list
87+
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
9588
9689
- name: Update apt
9790
run: sudo apt-get update
9891

9992
- name: Install LLVM
100-
run: sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
93+
run: sudo apt-get install libllvm${{ matrix.platform.llvm-version }} llvm-${{ matrix.platform.llvm-version }} llvm-${{ matrix.platform.llvm-version }}-dev
10194

10295
- name: Install LLVM OpenMP runtime
103-
run: sudo apt-get install libomp-${{ matrix.llvm-version }}-dev libomp5-${{ matrix.llvm-version }}
96+
run: sudo apt-get install libomp-${{ matrix.platform.llvm-version }}-dev
10497

10598
- name: Install Clang
106-
run: sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
99+
run: sudo apt-get install clang-${{ matrix.platform.llvm-version }} clang-tidy-${{ matrix.platform.llvm-version }}
107100

108101
- name: Install libc++
109102
if: matrix.preset.libcxx
110-
run: sudo apt-get install --no-install-recommends libc++-${{ matrix.llvm-version }}-dev libc++abi-${{ matrix.llvm-version }}-dev
103+
run: sudo apt-get install --no-install-recommends libc++-${{ matrix.platform.llvm-version }}-dev libc++abi-${{ matrix.platform.llvm-version }}-dev
111104

112105
- name: Install OpenMPI
113106
run: sudo apt-get install libopenmpi-dev openmpi-bin
@@ -118,11 +111,11 @@ jobs:
118111

119112
- name: Setup env
120113
run: |
121-
sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
122-
sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
123-
echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
124-
echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
125-
echo "TYPEART_TYPEGEN_IR=${{ matrix.typeart-typegen-legacy }}" >> $GITHUB_ENV
114+
sudo ln -f -s /usr/bin/clang-${{ matrix.platform.llvm-version }} /usr/bin/clang
115+
sudo ln -f -s /usr/bin/clang++-${{ matrix.platform.llvm-version }} /usr/bin/clang++
116+
echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.platform.llvm-version }}/cmake" >> $GITHUB_ENV
117+
echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.platform.llvm-version >= 20 && 18 || matrix.platform.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
118+
echo "TYPEART_TYPEGEN_IR=${{ matrix.platform.typeart-typegen-legacy }}" >> $GITHUB_ENV
126119
127120
- name: Configure TypeART
128121
run: cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
@@ -148,7 +141,7 @@ jobs:
148141
with:
149142
github-token: ${{ secrets.GITHUB_TOKEN }}
150143
path-to-lcov: build/typeart.coverage
151-
flag-name: ${{ matrix.preset.name }}-${{ matrix.llvm-version }}-${{ matrix.typeart-typegen-legacy }}
144+
flag-name: ${{ matrix.preset.name }}-${{ matrix.platform.llvm-version }}-${{ matrix.platform.typeart-typegen-legacy }}
152145
parallel: true
153146

154147
finish-coverage:
@@ -159,4 +152,4 @@ jobs:
159152
uses: coverallsapp/github-action@master
160153
with:
161154
github-token: ${{ secrets.GITHUB_TOKEN }}
162-
parallel-finished: true
155+
parallel-finished: true

0 commit comments

Comments
 (0)