Skip to content

Commit f723807

Browse files
Use clang 21 in CI.
1 parent 9feb73c commit f723807

File tree

3 files changed

+29
-26
lines changed

3 files changed

+29
-26
lines changed

.circleci/config.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
#machine:
1212
# image: ubuntu-2504:edge
1313
docker:
14-
- image: ubuntu:25.04
14+
- image: ubuntu:25.10
1515
resource_class: arm.medium
1616
environment:
1717
CC: gcc-15
@@ -48,11 +48,11 @@ jobs:
4848
#machine:
4949
# image: ubuntu-2504:edge
5050
docker:
51-
- image: ubuntu:25.04
51+
- image: ubuntu:25.10
5252
resource_class: arm.medium
5353
environment:
54-
CC: clang-20
55-
CXX: clang++-20
54+
CC: clang-21
55+
CXX: clang++-21
5656
steps:
5757
- run: |
5858
apt-get update --quiet=2 || apt-get update --quiet=2 || apt-get update --quiet=2
@@ -92,11 +92,11 @@ jobs:
9292
#machine:
9393
# image: ubuntu-2504:edge
9494
docker:
95-
- image: ubuntu:25.04
95+
- image: ubuntu:25.10
9696
resource_class: arm.medium
9797
environment:
98-
CC: clang-20
99-
CXX: clang++-20
98+
CC: clang-21
99+
CXX: clang++-21
100100
CFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
101101
CXXFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
102102
LDFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
@@ -118,7 +118,7 @@ jobs:
118118
# tzdata is required by clang and has to be installed carefully to avoid user prompts stalling the script.
119119
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
120120
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
121-
sudo apt-get install -y clang-20
121+
sudo apt-get install -y clang-21
122122
- run: |
123123
mkdir build
124124
cd build

.github/workflows/CI.yml

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
continue-on-error: true
4848
strategy:
4949
matrix:
50-
clang_version: [14, 15, 16, 17, 18, 19]
50+
clang_version: [14, 15, 16, 17, 18, 19, 20]
5151
scheduler: [nemesis, sherwood, distrib]
5252
topology: [hwloc, binders, no]
5353
include:
@@ -63,6 +63,9 @@ jobs:
6363
gcc_version: 13
6464
- clang_version: 19
6565
gcc_version: 14
66+
- clang_version: 20
67+
gcc_version: 15
68+
container: ubuntu:25.04
6669
env:
6770
CC: clang-${{ matrix.clang_version }}
6871
CXX: clang++-${{ matrix.clang_version }}
@@ -259,7 +262,7 @@ jobs:
259262

260263
sanitizers:
261264
runs-on: ubuntu-24.04
262-
container: ubuntu:25.04
265+
container: ubuntu:25.10
263266
continue-on-error: true
264267
strategy:
265268
matrix:
@@ -281,8 +284,8 @@ jobs:
281284
- sanitizer: thread
282285
topology: binders
283286
env:
284-
CC: clang-20
285-
CXX: clang++-20
287+
CC: clang-21
288+
CXX: clang++-21
286289
CFLAGS: "-fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
287290
CXXFLAGS: ${{ matrix.use_libcxx && format('-stdlib=libc++ -fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) || format('-fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) }}
288291
LDFLAGS: "-fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
@@ -301,10 +304,10 @@ jobs:
301304
run: |
302305
sudo apt-get install -y software-properties-common # Only needed in container.
303306
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
304-
sudo apt-add-repository 'deb https://apt.llvm.org/oracular/ llvm-toolchain-oracular-20 main' && break || sleep 1
305-
sudo apt-get install -y clang-20
307+
sudo apt-add-repository 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main' && break || sleep 1
308+
sudo apt-get install -y clang-21
306309
- if: ${{ matrix.use_libcxx }}
307-
run: sudo apt-get install -y libc++-20-dev libc++abi-20-dev
310+
run: sudo apt-get install -y libc++-21-dev libc++abi-21-dev
308311
- if: ${{ matrix.topology != 'no' }}
309312
run: |
310313
sudo apt-get install -y hwloc libhwloc-dev
@@ -324,7 +327,7 @@ jobs:
324327

325328
linux-thorough:
326329
runs-on: ubuntu-24.04
327-
container: ubuntu:25.04
330+
container: ubuntu:25.10
328331
continue-on-error: true
329332
strategy:
330333
matrix:
@@ -337,8 +340,8 @@ jobs:
337340
- compiler: gcc
338341
use_libcxx: true
339342
env:
340-
CC: ${{ matrix.compiler == 'gcc' && 'gcc-15' || 'clang-20' }}
341-
CXX: ${{ matrix.compiler == 'gcc' && 'g++-15' || 'clang++-20' }}
343+
CC: ${{ matrix.compiler == 'gcc' && 'gcc-15' || 'clang-21' }}
344+
CXX: ${{ matrix.compiler == 'gcc' && 'g++-15' || 'clang++-21' }}
342345
CXXFLAGS: ${{ matrix.use_libcxx && '-stdlib=libc++' || '' }}
343346
QTHREADS_ENABLE_ASSERTS: ${{ matrix.use_asserts && '--enable-asserts' || '' }}
344347
steps:
@@ -353,10 +356,10 @@ jobs:
353356
run: |
354357
sudo apt-get install -y software-properties-common # Only needed in container.
355358
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
356-
sudo apt-add-repository 'deb https://apt.llvm.org/oracular/ llvm-toolchain-oracular-20 main' && break || sleep 1
357-
sudo apt-get install -y clang-20
359+
sudo apt-add-repository 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main' && break || sleep 1
360+
sudo apt-get install -y clang-21
358361
- if: ${{ matrix.use_libcxx }}
359-
run: sudo apt-get install -y libc++-20-dev libc++abi-20-dev
362+
run: sudo apt-get install -y libc++-21-dev libc++abi-21-dev
360363
- if: ${{ matrix.topology != 'no' }}
361364
run: |
362365
sudo apt-get install -y hwloc libhwloc-dev
@@ -377,14 +380,14 @@ jobs:
377380
runs-on: ubuntu-24.04
378381
continue-on-error: true
379382
env:
380-
CC: 'clang-20'
381-
CXX: 'clang++-20'
383+
CC: 'clang-21'
384+
CXX: 'clang++-21'
382385
steps:
383386
- uses: actions/checkout@v4
384387
- run: |
385388
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
386-
sudo apt-add-repository 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main' && break || sleep 1
387-
sudo apt-get install clang-format-20
389+
sudo apt-add-repository 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-21 main' && break || sleep 1
390+
sudo apt-get install clang-format-21
388391
- name: check formatting
389392
run: |
390393
clang-format --version

clang-format.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
find -iname *.h -or -iname *.c -or -iname *.hpp -or -iname *.cpp | xargs clang-format-20 -i
1+
find -iname *.h -or -iname *.c -or -iname *.hpp -or -iname *.cpp | xargs clang-format-21 -i

0 commit comments

Comments
 (0)