|
12 | 12 | env: |
13 | 13 | DEBIAN_FRONTEND: noninteractive |
14 | 14 | CMAKE_GENERATOR: Ninja |
15 | | - DEFAULT_CXX_STANDARD: 20 |
| 15 | + DEFAULT_CXX_STANDARD: 23 |
16 | 16 | DEFAULT_LLVM_VERSION: 21 |
17 | 17 | DEFAULT_GCC_VERSION: 14 |
18 | 18 | MULL_LLVM_MAJOR_VERSION: 19 |
|
31 | 31 | fail-fast: false |
32 | 32 | matrix: |
33 | 33 | compiler: [clang, gcc] |
34 | | - version: [12, 13, 14, 16, 17, 18, 19, 20, 21] |
35 | | - cxx_standard: [17, 20] |
| 34 | + version: [12, 13, 14, 18, 19, 20, 21] |
| 35 | + cxx_standard: [23] |
36 | 36 | stdlib: [libstdc++, libc++] |
37 | 37 | build_type: [Debug] |
38 | 38 | include: |
|
76 | 76 | stdlib: libc++ |
77 | 77 | install: sudo apt update && sudo apt install -y clang-18 libc++-18-dev libc++abi-18-dev |
78 | 78 | cxx_flags: "-stdlib=libc++" |
79 | | - - version: 17 |
80 | | - compiler: clang |
81 | | - install: sudo apt update && sudo apt install -y clang-17 |
82 | | - toolchain_root: "/usr/lib/llvm-17" |
83 | | - - version: 17 |
84 | | - compiler: clang |
85 | | - stdlib: libc++ |
86 | | - install: sudo apt update && sudo apt install -y clang-17 libc++-17-dev libc++abi-17-dev |
87 | | - cxx_flags: "-stdlib=libc++" |
88 | | - - version: 16 |
89 | | - compiler: clang |
90 | | - install: sudo apt update && sudo apt install -y clang-16 |
91 | | - toolchain_root: "/usr/lib/llvm-16" |
92 | | - - version: 16 |
93 | | - compiler: clang |
94 | | - stdlib: libc++ |
95 | | - install: sudo apt update && sudo apt install -y clang-16 libc++-16-dev libc++abi-16-dev |
96 | | - cxx_flags: "-stdlib=libc++" |
97 | 79 | - compiler: gcc |
98 | 80 | toolchain_root: "/usr" |
99 | 81 | cxx_flags: "" |
@@ -122,10 +104,6 @@ jobs: |
122 | 104 | version: 19 |
123 | 105 | - compiler: gcc |
124 | 106 | version: 18 |
125 | | - - compiler: gcc |
126 | | - version: 17 |
127 | | - - compiler: gcc |
128 | | - version: 16 |
129 | 107 | - compiler: clang |
130 | 108 | version: 14 |
131 | 109 | - compiler: clang |
@@ -183,92 +161,6 @@ jobs: |
183 | 161 | working-directory: ${{github.workspace}}/build |
184 | 162 | run: ctest --output-on-failure -j $(nproc) -C ${{matrix.build_type}} |
185 | 163 |
|
186 | | - build_and_test_22: |
187 | | - runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04 |
188 | | - strategy: |
189 | | - fail-fast: false |
190 | | - matrix: |
191 | | - compiler: [clang] |
192 | | - version: [14, 15] |
193 | | - cxx_standard: [17, 20] |
194 | | - stdlib: [libstdc++, libc++] |
195 | | - build_type: [Debug] |
196 | | - include: |
197 | | - - compiler: clang |
198 | | - cc: "clang" |
199 | | - cxx: "clang++" |
200 | | - cxx_flags: "-stdlib=libstdc++" |
201 | | - - version: 15 |
202 | | - compiler: clang |
203 | | - install: sudo apt update && sudo apt install -y clang-15 |
204 | | - toolchain_root: "/usr/lib/llvm-15" |
205 | | - - version: 15 |
206 | | - compiler: clang |
207 | | - stdlib: libc++ |
208 | | - install: sudo apt update && sudo apt install -y clang-15 libc++-15-dev libc++abi-15-dev |
209 | | - cxx_flags: "-stdlib=libc++" |
210 | | - - version: 14 |
211 | | - compiler: clang |
212 | | - install: sudo apt update && sudo apt install -y clang-14 |
213 | | - toolchain_root: "/usr/lib/llvm-14" |
214 | | - - version: 14 |
215 | | - compiler: clang |
216 | | - stdlib: libc++ |
217 | | - install: sudo apt update && sudo apt install -y clang-14 libc++-14-dev libc++abi-14-dev |
218 | | - cxx_flags: "-stdlib=libc++" |
219 | | - exclude: |
220 | | - - compiler: clang |
221 | | - version: 14 |
222 | | - stdlib: libstdc++ |
223 | | - |
224 | | - steps: |
225 | | - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
226 | | - |
227 | | - - name: Install build tools |
228 | | - run: | |
229 | | - ${{ matrix.install }} |
230 | | - sudo apt install -y ninja-build python3-venv python3-pip |
231 | | -
|
232 | | - - name: Restore CPM cache |
233 | | - env: |
234 | | - cache-name: cpm-cache-0 |
235 | | - id: cpm-cache-restore |
236 | | - uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 |
237 | | - with: |
238 | | - path: ~/cpm-cache |
239 | | - key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }} |
240 | | - restore-keys: | |
241 | | - ${{runner.os}}-${{env.cache-name}}- |
242 | | -
|
243 | | - - name: Configure CMake |
244 | | - env: |
245 | | - CC: ${{matrix.toolchain_root}}/bin/${{matrix.cc}} |
246 | | - CXX: ${{matrix.toolchain_root}}/bin/${{matrix.cxx}} |
247 | | - run: cmake -B ${{github.workspace}}/build -DCMAKE_CXX_STANDARD=${{matrix.cxx_standard}} -DCMAKE_CXX_FLAGS_INIT=${{matrix.cxx_flags}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCPM_SOURCE_CACHE=~/cpm-cache |
248 | | - |
249 | | - - name: Save CPM cache |
250 | | - env: |
251 | | - cache-name: cpm-cache-0 |
252 | | - if: steps.cpm-cache-restore.outputs.cache-hit != 'true' |
253 | | - uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 |
254 | | - with: |
255 | | - path: ~/cpm-cache |
256 | | - key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }} |
257 | | - |
258 | | - - name: Install python test requirements |
259 | | - run: | |
260 | | - python3 -m venv ${{github.workspace}}/test_venv |
261 | | - source ${{github.workspace}}/test_venv/bin/activate |
262 | | - pip install -r ${{github.workspace}}/requirements.txt |
263 | | - echo "${{github.workspace}}/test_venv/bin" >> $GITHUB_PATH |
264 | | -
|
265 | | - - name: Build Unit Tests |
266 | | - run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -v -t build_unit_tests |
267 | | - |
268 | | - - name: Test |
269 | | - working-directory: ${{github.workspace}}/build |
270 | | - run: ctest --output-on-failure -j $(nproc) -C ${{matrix.build_type}} |
271 | | - |
272 | 164 | quality_checks_pass: |
273 | 165 | runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04 |
274 | 166 | steps: |
@@ -530,7 +422,7 @@ jobs: |
530 | 422 |
|
531 | 423 | merge_ok: |
532 | 424 | runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04 |
533 | | - needs: [build_and_test_24, build_and_test_22, mutate, quality_checks_pass, sanitize, valgrind] |
| 425 | + needs: [build_and_test_24, mutate, quality_checks_pass, sanitize, valgrind] |
534 | 426 | if: ${{ !cancelled() }} |
535 | 427 | steps: |
536 | 428 | - name: Enable merge |
|
0 commit comments