-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: Move the lsan builders from build.yml into a dedicated file
Qt 6.7 requires arch linux_gcc_64 instead of gcc_64, which is which would require more iffery in build.yml which is already complex. I prefer having many simple yml files instead of a swiss army-knife build.yml
- Loading branch information
Showing
2 changed files
with
62 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <[email protected]> | ||
# | ||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only | ||
|
||
name: Workflow for running leak check on Qt6 KDDW | ||
|
||
on: | ||
push: | ||
branches: | ||
- 2.1 | ||
- main | ||
pull_request: | ||
branches: | ||
- 2.1 | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
preset: | ||
- name: ci-dev-asan-qtwidgets-qt6 | ||
qt_version: "6.7.0" | ||
- name: ci-dev-asan-qtquick-qt6 | ||
qt_version: "6.7.0" | ||
|
||
steps: | ||
- name: Install Qt ${{ matrix.preset.qt_version }} | ||
uses: jurplel/install-qt-action@v3 | ||
with: | ||
version: ${{ matrix.preset.qt_version }} | ||
cache: true | ||
arch: linux_gcc_64 | ||
|
||
- name: Install dependencies on Ubuntu | ||
run: | | ||
sudo apt update -qq | ||
sudo apt install lld libspdlog-dev ninja-build -y | ||
- name: Checkout sources | ||
uses: actions/checkout@v4 | ||
|
||
- name: Configure project | ||
run: cmake -S . -B ./build-${{ matrix.preset.name }} --preset ${{ matrix.preset.name }} | ||
|
||
- name: Build Project ${{ matrix.preset.build_preset_arg }} | ||
run: cmake --build ./build-${{ matrix.preset.name }} ${{ matrix.preset.build_preset_arg }} | ||
|
||
- name: Run tests on Linux (offscreen) | ||
run: ctest --test-dir ./build-${{ matrix.preset.name }} --output-on-failure | ||
env: | ||
QT_QPA_PLATFORM: offscreen | ||
QT_QUICK_BACKEND: software | ||
LSAN_OPTIONS: detect_leaks=1 | ||
|
||
- name: Read tests log when it fails | ||
uses: andstor/file-reader-action@v1 | ||
if: ${{ failure() && startsWith(matrix.preset.name, 'ci-dev-') }} | ||
with: | ||
path: "./build-${{ matrix.preset.name }}/Testing/Temporary/LastTest.log" |