ci: run qmltestrunner with offscreen Qt platform
All checks were successful
CI / Quality (push) Successful in 5m31s
Release / Linux AppImage (push) Successful in 5m16s

Headless CI runner has no X display, so qmltest aborts loading the
xcb plugin. Set QT_QPA_PLATFORM=offscreen for the ctest invocation
in CI and in both Makefile qmltest targets so local headless runs
work too.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 21:13:35 +02:00
parent 427dbae656
commit 340f2881d0
3 changed files with 4 additions and 2 deletions

View File

@@ -79,6 +79,8 @@ jobs:
- name: QML unit tests (qmltestrunner via Qt::QuickTest)
working-directory: framework/qml
env:
QT_QPA_PLATFORM: offscreen
run: |
cmake -S . -B build-tests -DBUILD_TESTING=ON
cmake --build build-tests --target qml_unit_tests --parallel

View File

@@ -93,4 +93,4 @@ quality: build qmltest ## Run PHPStan, php-cs-fixer (check), PHPUnit, qmllint, q
qmltest: ## Run QML unit tests (Qt::QuickTest via qmltestrunner)
cmake -S ../../framework/qml -B ../../framework/qml/build-tests -DBUILD_TESTING=ON
cmake --build ../../framework/qml/build-tests --target qml_unit_tests --parallel
ctest --test-dir ../../framework/qml/build-tests --output-on-failure -R qml_unit_tests
QT_QPA_PLATFORM=offscreen ctest --test-dir ../../framework/qml/build-tests --output-on-failure -R qml_unit_tests

View File

@@ -87,4 +87,4 @@ quality: build qmltest ## Run PHPStan, php-cs-fixer (check), PHPUnit, qmllint, q
qmltest: ## Run QML unit tests (Qt::QuickTest via qmltestrunner)
cmake -S ../qml -B ../qml/build-tests -DBUILD_TESTING=ON
cmake --build ../qml/build-tests --target qml_unit_tests --parallel
ctest --test-dir ../qml/build-tests --output-on-failure -R qml_unit_tests
QT_QPA_PLATFORM=offscreen ctest --test-dir ../qml/build-tests --output-on-failure -R qml_unit_tests