Skip to content

Commit 0876e68

Browse files
committed
ci: Add Qt 6.11 sanitized workflow
This builds against a self-built sanitized Qt. To be enabled as they pass, for starters, a regular Qt debug build with asserts enabled. If that goes well we can enable asan+ubsan then tsan, then lsan
1 parent 70b995b commit 0876e68

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-FileCopyrightText: 2026 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
name: CI Qt6 Sanitized
6+
7+
on:
8+
push:
9+
branches:
10+
- master
11+
- 3.2
12+
pull_request:
13+
branches:
14+
- master
15+
- 3.2
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
qt-flavor: # asan|tsan|debug|profile
24+
- name: "debug" # no sanitizer, but asserts enabled
25+
preset: "dev"
26+
# - name: "asan"
27+
# preset: "dev-asan"
28+
# - name: "tsan"
29+
# preset: "dev-tsan"
30+
# - name: "profile"
31+
# preset: "dev-profile"
32+
33+
steps:
34+
- name: Setup Sanitized Qt
35+
uses: KDABLabs/sanitized-qt-action@v1
36+
with:
37+
qt-tag: "v6.11.0-beta2"
38+
qt-flavor: ${{ matrix.qt-flavor.name }}
39+
40+
- name: Checkout sources
41+
uses: actions/checkout@v4
42+
with:
43+
submodules: recursive
44+
45+
- name: Install Dependencies
46+
run: |
47+
sudo apt update -qq
48+
sudo apt install -y gdb
49+
50+
- name: Configure project
51+
run: >
52+
cmake -S . -G Ninja --preset ${{ matrix.qt-flavor.preset }}
53+
-DGAMMARAY_WITH_KDSME=ON -DGAMMARAY_BUILD_DOCS=OFF
54+
55+
- name: Build Project
56+
run: cmake --build ./build-${{ matrix.qt-flavor.preset }}
57+
58+
- name: Enable gdb attaching
59+
run: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
60+
61+
- name: Run tests on Linux Qt6
62+
run: >
63+
ctest --test-dir ./build-${{ matrix.qt-flavor.preset }} --output-on-failure
64+
--exclude-regex "quickmaterialtest|quicktexturetest|quickinspectortest|quickinspectortest2"
65+
env:
66+
QT_QPA_PLATFORM: offscreen
67+
QT_QUICK_BACKEND: software
68+
LSAN_OPTIONS: "detect_leaks=0" # until normal ASAN passes

0 commit comments

Comments
 (0)