Skip to content

Commit 09ac27e

Browse files
committed
⬆️ 👷 Update workflows to ubuntu-24.04
1 parent 67120f7 commit 09ac27e

File tree

2 files changed

+109
-58
lines changed

2 files changed

+109
-58
lines changed

.github/workflows/asciidoctor-ghpages.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ env:
1212
jobs:
1313
configure:
1414
name: Configure Github Pages Publishing
15-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
15+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
1616
outputs:
1717
enable_publish: ${{ steps.check.outputs.isfork == 'NO' }}
1818
steps:
@@ -30,17 +30,17 @@ jobs:
3030
build:
3131
needs: configure
3232
name: Build Documentation
33-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
33+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
3434
steps:
3535
- name: Checkout source
3636
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
3737
- name: Setup Node.js
3838
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
3939
with:
40-
node-version: 18
40+
node-version: 20
4141
- name: Install Mermaid
4242
run: |
43-
sudo npm install -g @mermaid-js/mermaid-cli@10.6.1
43+
sudo npm install -g @mermaid-js/mermaid-cli@11.2.0
4444
node /usr/local/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer/install.js
4545
- name: Install asciidoctor
4646
run: |
@@ -73,7 +73,7 @@ jobs:
7373
environment:
7474
name: github-pages
7575
url: ${{ steps.deployment.outputs.page_url }}
76-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
76+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
7777
steps:
7878
- name: Deploy to github pages
7979
id: deployment

.github/workflows/unit_tests.yml

Lines changed: 104 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ env:
1515
DEFAULT_CXX_STANDARD: 20
1616
DEFAULT_LLVM_VERSION: 18
1717
DEFAULT_GCC_VERSION: 13
18-
MULL_LLVM_VERSION: 15
18+
MULL_LLVM_VERSION: 17
1919

2020
concurrency:
2121
group: ${{ github.head_ref || github.run_id }}
2222
cancel-in-progress: true
2323

2424
jobs:
25-
build_and_test:
26-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
25+
build_and_test_24:
26+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
2727
strategy:
2828
fail-fast: false
2929
matrix:
3030
compiler: [clang, gcc]
31-
version: [12, 13, 14, 15, 16, 17, 18]
31+
version: [12, 13, 16, 17, 18]
3232
cxx_standard: [17, 20]
3333
stdlib: [libstdc++, libc++]
3434
build_type: [Debug]
@@ -39,60 +39,42 @@ jobs:
3939
cxx_flags: "-stdlib=libstdc++"
4040
- version: 18
4141
compiler: clang
42-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 18
42+
install: sudo apt update && sudo apt install -y clang-18
4343
toolchain_root: "/usr/lib/llvm-18"
4444
- version: 18
4545
compiler: clang
4646
stdlib: libc++
47-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 18 && sudo apt install -y libc++-18-dev libc++abi-18-dev
47+
install: sudo apt update && sudo apt install -y clang-18 libc++-18-dev libc++abi-18-dev
4848
cxx_flags: "-stdlib=libc++"
4949
- version: 17
5050
compiler: clang
51-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 17
51+
install: sudo apt update && sudo apt install -y clang-17
5252
toolchain_root: "/usr/lib/llvm-17"
5353
- version: 17
5454
compiler: clang
5555
stdlib: libc++
56-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 17 && sudo apt install -y libc++-17-dev libc++abi-17-dev
56+
install: sudo apt update && sudo apt install -y clang-17 libc++-17-dev libc++abi-17-dev
5757
cxx_flags: "-stdlib=libc++"
5858
- version: 16
5959
compiler: clang
60-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 16
60+
install: sudo apt update && sudo apt install -y clang-16
6161
toolchain_root: "/usr/lib/llvm-16"
6262
- version: 16
6363
compiler: clang
6464
stdlib: libc++
65-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 16 && sudo apt install -y libc++-16-dev libc++abi-16-dev
66-
cxx_flags: "-stdlib=libc++"
67-
- version: 15
68-
compiler: clang
69-
install: sudo apt update && sudo apt install -y clang-15
70-
toolchain_root: "/usr/lib/llvm-15"
71-
- version: 15
72-
compiler: clang
73-
stdlib: libc++
74-
install: sudo apt update && sudo apt install -y clang-15 libc++-15-dev libc++abi-15-dev
75-
cxx_flags: "-stdlib=libc++"
76-
- version: 14
77-
compiler: clang
78-
install: sudo apt update && sudo apt install -y clang-14
79-
toolchain_root: "/usr/lib/llvm-14"
80-
- version: 14
81-
compiler: clang
82-
stdlib: libc++
83-
install: sudo apt update && sudo apt install -y clang-14 libc++-14-dev libc++abi-14-dev
65+
install: sudo apt update && sudo apt install -y clang-16 libc++-16-dev libc++abi-16-dev
8466
cxx_flags: "-stdlib=libc++"
8567
- compiler: gcc
8668
toolchain_root: "/usr"
8769
cxx_flags: ""
8870
- version: 13
8971
compiler: gcc
90-
install: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt update && sudo apt-get install -y gcc-13 g++-13
72+
install: sudo apt update && sudo apt install -y gcc-13 g++-13
9173
cc: "gcc-13"
9274
cxx: "g++-13"
9375
- version: 12
9476
compiler: gcc
95-
install: sudo apt update && sudo apt install -y gcc-12
77+
install: sudo apt update && sudo apt install -y gcc-12 g++-12
9678
cc: "gcc-12"
9779
cxx: "g++-12"
9880
cxx_flags: ""
@@ -103,13 +85,6 @@ jobs:
10385
version: 17
10486
- compiler: gcc
10587
version: 16
106-
- compiler: gcc
107-
version: 15
108-
- compiler: gcc
109-
version: 14
110-
- compiler: clang
111-
version: 14
112-
stdlib: libstdc++
11388
- compiler: clang
11489
version: 13
11590
- compiler: clang
@@ -158,8 +133,87 @@ jobs:
158133
working-directory: ${{github.workspace}}/build
159134
run: ctest --output-on-failure -j $(nproc) -C ${{matrix.build_type}}
160135

161-
quality_checks_pass:
136+
build_and_test_22:
162137
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
138+
strategy:
139+
fail-fast: false
140+
matrix:
141+
compiler: [clang]
142+
version: [14, 15]
143+
cxx_standard: [17, 20]
144+
stdlib: [libstdc++, libc++]
145+
build_type: [Debug]
146+
include:
147+
- compiler: clang
148+
cc: "clang"
149+
cxx: "clang++"
150+
cxx_flags: "-stdlib=libstdc++"
151+
- version: 15
152+
compiler: clang
153+
install: sudo apt update && sudo apt install -y clang-15
154+
toolchain_root: "/usr/lib/llvm-15"
155+
- version: 15
156+
compiler: clang
157+
stdlib: libc++
158+
install: sudo apt update && sudo apt install -y clang-15 libc++-15-dev libc++abi-15-dev
159+
cxx_flags: "-stdlib=libc++"
160+
- version: 14
161+
compiler: clang
162+
install: sudo apt update && sudo apt install -y clang-14
163+
toolchain_root: "/usr/lib/llvm-14"
164+
- version: 14
165+
compiler: clang
166+
stdlib: libc++
167+
install: sudo apt update && sudo apt install -y clang-14 libc++-14-dev libc++abi-14-dev
168+
cxx_flags: "-stdlib=libc++"
169+
exclude:
170+
- compiler: clang
171+
version: 14
172+
stdlib: libstdc++
173+
174+
steps:
175+
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
176+
177+
- name: Install build tools
178+
run: |
179+
${{ matrix.install }}
180+
sudo apt install -y ninja-build
181+
182+
- name: Restore CPM cache
183+
env:
184+
cache-name: cpm-cache-0
185+
id: cpm-cache-restore
186+
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
187+
with:
188+
path: ~/cpm-cache
189+
key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
190+
restore-keys: |
191+
${{runner.os}}-${{env.cache-name}}-
192+
193+
- name: Configure CMake
194+
env:
195+
CC: ${{matrix.toolchain_root}}/bin/${{matrix.cc}}
196+
CXX: ${{matrix.toolchain_root}}/bin/${{matrix.cxx}}
197+
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
198+
199+
- name: Save CPM cache
200+
env:
201+
cache-name: cpm-cache-0
202+
if: steps.cpm-cache-restore.outputs.cache-hit != 'true'
203+
uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
204+
with:
205+
path: ~/cpm-cache
206+
key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
207+
208+
- name: Build Unit Tests
209+
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -v -t build_unit_tests
210+
211+
- name: Test
212+
working-directory: ${{github.workspace}}/build
213+
run: ctest --output-on-failure -j $(nproc) -C ${{matrix.build_type}}
214+
215+
quality_checks_pass:
216+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
163217
steps:
164218
- name: Checkout target branch
165219
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
@@ -175,13 +229,12 @@ jobs:
175229

176230
- name: Install build tools
177231
run: |
178-
wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh ${{env.DEFAULT_LLVM_VERSION}}
179-
sudo apt install -y python3-pip ninja-build clang-tidy-${{env.DEFAULT_LLVM_VERSION}} clang-format-${{env.DEFAULT_LLVM_VERSION}}
232+
sudo apt update && sudo apt install -y pipx ninja-build clang-tidy-${{env.DEFAULT_LLVM_VERSION}} clang-format-${{env.DEFAULT_LLVM_VERSION}}
180233
181234
- name: Install cmake-format
182235
run: |
183-
sudo pip3 install --upgrade pip
184-
sudo pip3 install pyyaml cmake-format
236+
pipx install cmakelang
237+
pipx inject cmakelang pyyaml
185238
186239
- name: Restore CPM cache
187240
env:
@@ -214,7 +267,7 @@ jobs:
214267
run: cmake --build ${{github.workspace}}/build -t ci-quality
215268

216269
sanitize:
217-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
270+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
218271
strategy:
219272
fail-fast: false
220273
matrix:
@@ -224,12 +277,12 @@ jobs:
224277
- compiler: clang
225278
cc: "clang"
226279
cxx: "clang++"
227-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 18
280+
install: sudo apt update && sudo apt install -y clang-18
228281
toolchain_root: "/usr/lib/llvm-18"
229282
- compiler: gcc
230283
cc: "gcc-13"
231284
cxx: "g++-13"
232-
install: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt update && sudo apt install -y gcc-13 g++-13
285+
install: sudo apt update && sudo apt install -y gcc-13 g++-13
233286
toolchain_root: "/usr"
234287

235288
steps:
@@ -278,13 +331,12 @@ jobs:
278331
run: cmake --build ${{github.workspace}}/build -t unit_tests
279332

280333
valgrind:
281-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
334+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
282335
steps:
283336
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
284337

285338
- name: Install build tools
286339
run: |
287-
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
288340
sudo apt update && sudo apt install -y gcc-${{env.DEFAULT_GCC_VERSION}} g++-${{env.DEFAULT_GCC_VERSION}} ninja-build valgrind
289341
290342
- name: Restore CPM cache
@@ -350,21 +402,20 @@ jobs:
350402
test $FAILSIZE = "0"
351403
352404
mutate:
353-
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
405+
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
354406
steps:
355407
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
356408

357409
- name: Install build tools
358410
run: |
359-
wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh ${{env.MULL_LLVM_VERSION}}
360-
sudo apt install -y ninja-build
411+
sudo apt update && sudo apt install -y clang-${{env.MULL_LLVM_VERSION}} ninja-build
361412
362413
- name: Install mull
363414
env:
364415
MULL_VERSION: 0.23.0
365416
run: |
366-
wget https://github.com/mull-project/mull/releases/download/${{env.MULL_VERSION}}/Mull-${{env.MULL_LLVM_VERSION}}-${{env.MULL_VERSION}}-LLVM-${{env.MULL_LLVM_VERSION}}.0-ubuntu-22.04.deb
367-
sudo dpkg -i Mull-${{env.MULL_LLVM_VERSION}}-${{env.MULL_VERSION}}-LLVM-${{env.MULL_LLVM_VERSION}}.0-ubuntu-22.04.deb
417+
wget https://github.com/mull-project/mull/releases/download/${{env.MULL_VERSION}}/Mull-${{env.MULL_LLVM_VERSION}}-${{env.MULL_VERSION}}-LLVM-${{env.MULL_LLVM_VERSION}}.0-ubuntu-24.04.deb
418+
sudo dpkg -i Mull-${{env.MULL_LLVM_VERSION}}-${{env.MULL_VERSION}}-LLVM-${{env.MULL_LLVM_VERSION}}.0-ubuntu-24.04.deb
368419
369420
- name: Restore CPM cache
370421
env:
@@ -397,7 +448,7 @@ jobs:
397448

398449
merge_ok:
399450
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-22.04
400-
needs: [build_and_test, quality_checks_pass, sanitize, valgrind]
451+
needs: [build_and_test_24, build_and_test_22, quality_checks_pass, sanitize, valgrind]
401452
if: ${{ !cancelled() }}
402453
steps:
403454
- name: Enable merge

0 commit comments

Comments
 (0)