@@ -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