Skip to content

Commit 927d77a

Browse files
Merge pull request #367 from insertinterestingnamehere/ci
Clang 21
2 parents 1031521 + dbd0b5a commit 927d77a

File tree

7 files changed

+97
-100
lines changed

7 files changed

+97
-100
lines changed

.circleci/config.yml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ jobs:
5151
- image: ubuntu:25.04
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
@@ -62,14 +62,16 @@ jobs:
6262
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
6363
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
6464
- run: |
65-
sudo apt-get install -y gnupg wget # Only needed in container.
65+
# tzdata is required by clang and software-properties-common and has to be installed carefully to avoid user prompts stalling the script.
66+
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
67+
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
68+
sudo apt-get install -y wget software-properties-common # Only needed in container.
6669
sudo apt-get install -y gcc-15 g++-15
6770
sudo apt-get install -y cmake
6871
sudo apt-get install -y hwloc libhwloc-dev
69-
# tzdata is required by clang and has to be installed carefully to avoid user prompts stalling the script.
70-
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
71-
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
72-
sudo apt-get install -y clang-20
72+
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
73+
sudo apt-add-repository -y 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main'
74+
sudo apt-get install -y clang-21
7375
- run: |
7476
mkdir build
7577
cd build
@@ -95,8 +97,8 @@ jobs:
9597
- image: ubuntu:25.04
9698
resource_class: arm.medium
9799
environment:
98-
CC: clang-20
99-
CXX: clang++-20
100+
CC: clang-21
101+
CXX: clang++-21
100102
CFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
101103
CXXFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
102104
LDFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
@@ -111,14 +113,16 @@ jobs:
111113
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
112114
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
113115
- run: |
114-
sudo apt-get install -y gnupg wget # Only needed in container.
116+
# tzdata is required by clang and software-properties-common and has to be installed carefully to avoid user prompts stalling the script.
117+
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
118+
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
119+
sudo apt-get install -y wget software-properties-common # Only needed in container.
115120
sudo apt-get install -y gcc-15 g++-15
116121
sudo apt-get install -y cmake
117122
sudo apt-get install -y hwloc libhwloc-dev
118-
# tzdata is required by clang and has to be installed carefully to avoid user prompts stalling the script.
119-
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
120-
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
121-
sudo apt-get install -y clang-20
123+
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
124+
sudo apt-add-repository -y 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main'
125+
sudo apt-get install -y clang-21
122126
- run: |
123127
mkdir build
124128
cd build

.cirrus.yml

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,15 @@ osx_m1_task:
3838
export CXXFLAGS="-g -I$(brew --prefix)/include $CXXFLAGS"
3939
export LDFLAGS="-g -L$(brew --prefix)/lib $LDFLAGS"
4040
mkdir build
41-
pushd build
41+
cd build
4242
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
4343
make -j$CIRRUS_CPU VERBOSE=1
44-
popd
4544
test_script: |
4645
# commented example for how to get a backtrace from CI usign lldb on OSX:
4746
#echo "settings set target.process.stop-on-exec false" > ~/.lldbinit
4847
#QT_NUM_SHEPHERDS=2 QT_NUM_WORKERS_PER_SHEPHERD=1 lldb bash --batch --one-line 'process launch' --one-line-on-crash 'bt' --one-line-on-crash 'quit' -- test/basics/hello_world
49-
pushd build
48+
cd build
5049
CTEST_OUTPUT_ON_FAILURE=1 gtimeout --foreground 3m make test VERBOSE=1
51-
popd
5250
5351
freebsd_task:
5452
freebsd_instance:
@@ -70,6 +68,7 @@ freebsd_task:
7068
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=no -DQTHREADS_CONTEXT_SWAP_IMPL=system ..
7169
make -j$CIRRUS_CPU VERBOSE=1
7270
test_script: |
71+
cd build
7372
CTEST_OUTPUT_ON_FAILURE=1 gtimeout --foreground -k 10s 2m make test VERBOSE=1
7473
7574
arm_linux_task:
@@ -98,43 +97,41 @@ arm_linux_task:
9897
apt-get install -y hwloc libhwloc-dev
9998
build_script: |
10099
mkdir build
101-
pushd build
100+
cd build
102101
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
103102
make -j$CIRRUS_CPU VERBOSE=1
104-
popd
105103
test_script: |
106-
pushd build
104+
cd build
107105
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 5m make test VERBOSE=1
108-
popd
109106
110107
arm_linux_clang_task:
111108
arm_container:
112109
image: gcc:15-bookworm
113110
timeout_in: 5m
114111
matrix:
115112
env:
116-
CC: clang-20
117-
CXX: clang++-20
113+
CC: clang-21
114+
CXX: clang++-21
118115
QTHREADS_SCHEDULER: nemesis
119116
QTHREADS_TOPOLOGY: no
120117
env:
121-
CC: clang-20
122-
CXX: clang++-20
118+
CC: clang-21
119+
CXX: clang++-21
123120
QTHREADS_SCHEDULER: nemesis
124121
QTHREADS_TOPOLOGY: hwloc
125122
env:
126-
CC: clang-20
127-
CXX: clang++-20
123+
CC: clang-21
124+
CXX: clang++-21
128125
QTHREADS_SCHEDULER: nemesis
129126
QTHREADS_TOPOLOGY: binders
130127
env:
131-
CC: clang-20
132-
CXX: clang++-20
128+
CC: clang-21
129+
CXX: clang++-21
133130
QTHREADS_SCHEDULER: sherwood
134131
QTHREADS_TOPOLOGY: no
135132
env:
136-
CC: clang-20
137-
CXX: clang++-20
133+
CC: clang-21
134+
CXX: clang++-21
138135
QTHREADS_SCHEDULER: distrib
139136
QTHREADS_TOPOLOGY: no
140137
install_deps_script: |
@@ -145,19 +142,17 @@ arm_linux_clang_task:
145142
gpg --no-default-keyring --keyring ./tmp.gpg --export --output llvm-snapshot.gpg
146143
rm tmp.gpg
147144
cp llvm-snapshot.gpg /etc/apt/trusted.gpg.d/llvm-snapshot.gpg # This is for CI so no need to do something more complicated to restrict key use to a specific repo.
148-
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main'
149-
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main' # Something's buggy upstream but running this twice fixes it.
150-
apt-get install -y clang-20
145+
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-21 main'
146+
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-21 main' # Something's buggy upstream but running this twice fixes it.
147+
apt-get install -y clang-21
151148
apt-get install -y cmake
152149
apt-get install -y hwloc libhwloc-dev
153150
build_script: |
154151
mkdir build
155-
pushd build
152+
cd build
156153
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
157154
make -j$CIRRUS_CPU VERBOSE=1
158-
popd
159155
test_script: |
160-
pushd build
156+
cd build
161157
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 5m make test VERBOSE=1
162-
popd
163158

.git-blame-ignore-revs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
d1196d946c6551b205791f47ee952412e1a3e9bc
44
2368ba6baaeb986a16d7444edf412e3ef74296b4
55
163756c0337619255bb4b30a0b8ef21d17824aab
6+
8800d6becb5181f539155ec62c635eb339b3f6cd

0 commit comments

Comments
 (0)