Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 18 additions & 14 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ jobs:
- image: ubuntu:25.04
resource_class: arm.medium
environment:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
steps:
- run: |
apt-get update --quiet=2 || apt-get update --quiet=2 || apt-get update --quiet=2
Expand All @@ -62,14 +62,16 @@ jobs:
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|git@github.com:|https://github.com/|g"`
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
- run: |
sudo apt-get install -y gnupg wget # Only needed in container.
# tzdata is required by clang and software-properties-common and has to be installed carefully to avoid user prompts stalling the script.
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
sudo apt-get install -y wget software-properties-common # Only needed in container.
sudo apt-get install -y gcc-15 g++-15
sudo apt-get install -y cmake
sudo apt-get install -y hwloc libhwloc-dev
# tzdata is required by clang and has to be installed carefully to avoid user prompts stalling the script.
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
sudo apt-get install -y clang-20
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
sudo apt-add-repository -y 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main'
sudo apt-get install -y clang-21
- run: |
mkdir build
cd build
Expand All @@ -95,8 +97,8 @@ jobs:
- image: ubuntu:25.04
resource_class: arm.medium
environment:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
CFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
CXXFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
LDFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
Expand All @@ -111,14 +113,16 @@ jobs:
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|git@github.com:|https://github.com/|g"`
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
- run: |
sudo apt-get install -y gnupg wget # Only needed in container.
# tzdata is required by clang and software-properties-common and has to be installed carefully to avoid user prompts stalling the script.
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
sudo apt-get install -y wget software-properties-common # Only needed in container.
sudo apt-get install -y gcc-15 g++-15
sudo apt-get install -y cmake
sudo apt-get install -y hwloc libhwloc-dev
# tzdata is required by clang and has to be installed carefully to avoid user prompts stalling the script.
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends tzdata
sudo apt-get install -y clang-20
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
sudo apt-add-repository -y 'deb https://apt.llvm.org/plucky/ llvm-toolchain-plucky-21 main'
sudo apt-get install -y clang-21
- run: |
mkdir build
cd build
Expand Down
45 changes: 20 additions & 25 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,15 @@ osx_m1_task:
export CXXFLAGS="-g -I$(brew --prefix)/include $CXXFLAGS"
export LDFLAGS="-g -L$(brew --prefix)/lib $LDFLAGS"
mkdir build
pushd build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
make -j$CIRRUS_CPU VERBOSE=1
popd
test_script: |
# commented example for how to get a backtrace from CI usign lldb on OSX:
#echo "settings set target.process.stop-on-exec false" > ~/.lldbinit
#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
pushd build
cd build
CTEST_OUTPUT_ON_FAILURE=1 gtimeout --foreground 3m make test VERBOSE=1
popd

freebsd_task:
freebsd_instance:
Expand All @@ -70,6 +68,7 @@ freebsd_task:
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=no -DQTHREADS_CONTEXT_SWAP_IMPL=system ..
make -j$CIRRUS_CPU VERBOSE=1
test_script: |
cd build
CTEST_OUTPUT_ON_FAILURE=1 gtimeout --foreground -k 10s 2m make test VERBOSE=1

arm_linux_task:
Expand Down Expand Up @@ -98,43 +97,41 @@ arm_linux_task:
apt-get install -y hwloc libhwloc-dev
build_script: |
mkdir build
pushd build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
make -j$CIRRUS_CPU VERBOSE=1
popd
test_script: |
pushd build
cd build
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 5m make test VERBOSE=1
popd

arm_linux_clang_task:
arm_container:
image: gcc:15-bookworm
timeout_in: 5m
matrix:
env:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
QTHREADS_SCHEDULER: nemesis
QTHREADS_TOPOLOGY: no
env:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
QTHREADS_SCHEDULER: nemesis
QTHREADS_TOPOLOGY: hwloc
env:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
QTHREADS_SCHEDULER: nemesis
QTHREADS_TOPOLOGY: binders
env:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
QTHREADS_SCHEDULER: sherwood
QTHREADS_TOPOLOGY: no
env:
CC: clang-20
CXX: clang++-20
CC: clang-21
CXX: clang++-21
QTHREADS_SCHEDULER: distrib
QTHREADS_TOPOLOGY: no
install_deps_script: |
Expand All @@ -145,19 +142,17 @@ arm_linux_clang_task:
gpg --no-default-keyring --keyring ./tmp.gpg --export --output llvm-snapshot.gpg
rm tmp.gpg
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.
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main'
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.
apt-get install -y clang-20
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-21 main'
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.
apt-get install -y clang-21
apt-get install -y cmake
apt-get install -y hwloc libhwloc-dev
build_script: |
mkdir build
pushd build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=$QTHREADS_SCHEDULER -DQTHREADS_TOPOLOGY=$QTHREADS_TOPOLOGY ..
make -j$CIRRUS_CPU VERBOSE=1
popd
test_script: |
pushd build
cd build
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 5m make test VERBOSE=1
popd

1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
d1196d946c6551b205791f47ee952412e1a3e9bc
2368ba6baaeb986a16d7444edf412e3ef74296b4
163756c0337619255bb4b30a0b8ef21d17824aab
8800d6becb5181f539155ec62c635eb339b3f6cd
Loading
Loading