Files
bearwave/.github/workflows/build.yml
Sebastian Palencsar 722f417c53 fix(ci): run Qt tests headless in Docker/CI
Use QCoreApplication for the race test, set QT_QPA_PLATFORM=offscreen
and QT_MEDIA_BACKEND=ffmpeg for playback tests, and export the same vars
in CI before ctest to avoid subprocess aborts without a display.
2026-06-21 08:56:03 +02:00

43 lines
1.2 KiB
YAML

name: Build
on:
push:
branches:
- main
- master
pull_request:
jobs:
arch-build:
runs-on: ubuntu-24.04
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Build in Arch Linux container
run: |
docker run --rm \
-v "${GITHUB_WORKSPACE}:/workspace" \
-w /workspace \
archlinux:latest \
bash -lc '
set -euo pipefail
pacman -Syu --noconfirm
pacman -S --noconfirm --needed \
base-devel \
cmake \
git \
qt6-base \
qt6-declarative \
qt6-tools \
qt6-multimedia \
qt6-multimedia-ffmpeg
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"
export QT_QPA_PLATFORM=offscreen
export QT_MEDIA_BACKEND=ffmpeg
ctest --test-dir build --output-on-failure
"$(/usr/lib/qt6/bin/qtpaths6 --query QT_INSTALL_BINS)/qmllint" src/qml/Main.qml src/qml/components/*.qml src/qml/theme/BearTheme.qml
'