From d6021769d9b176843b9b2f925d3a6820c9ebd416 Mon Sep 17 00:00:00 2001 From: Matt Guerrette Date: Tue, 6 Oct 2026 13:58:45 -0400 Subject: [PATCH 1/5] Add GitHub workflow to build repo source --- .github/workflows/build.yml | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..6766371 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,89 @@ +name: Build + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + build: + name: ${{ matrix.os-name }} + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + include: + - runner: windows-2022 + os-name: Windows + qt-arch: win64_msvc2019_64 + - runner: ubuntu-24.04 + os-name: Ubuntu + qt-arch: linux_gcc_64 + + steps: + - uses: actions/checkout@v5 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.11' + + - name: Install Ninja + run: python -m pip install ninja + + - name: Set up MSVC environment (Windows) + if: runner.os == 'Windows' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x64 + + # install-qt-action exports Qt6_DIR, which find_package(Qt6) picks up. CMAKE_PREFIX_PATH is intentionally + # not set: on Linux that makes devtools_qt_helper.cmake patchelf a libicudata.so.70 dependency into Qt + # targets, which the aqt Qt build and the Ubuntu 24.04 runner do not provide. + - name: Install Qt (Windows) + if: runner.os == 'Windows' + uses: jurplel/install-qt-action@v4 + with: + version: '6.7.0' + arch: ${{ matrix.qt-arch }} + dir: 'C:\' + cache: true + + - name: Install Qt (Ubuntu) + if: runner.os == 'Linux' + uses: jurplel/install-qt-action@v4 + with: + version: '6.7.0' + arch: ${{ matrix.qt-arch }} + dir: '${{ github.workspace }}' + modules: 'qtwaylandcompositor' + cache: true + + - name: Install Linux dependencies + if: runner.os == 'Linux' + run: | + sudo apt-get update -q + sudo apt-get install -y \ + build-essential \ + chrpath \ + patchelf \ + libxcb-xinerama0 \ + libxcb-cursor-dev \ + mesa-common-dev \ + libglu1-mesa-dev \ + libgl1-mesa-dev \ + libx11-xcb-dev \ + libxkbcommon-x11-dev \ + libwayland-dev + + - name: Configure + run: cmake -S . -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release -DRDP_ENABLE_UNIT_TESTS=ON + + - name: Build Release + run: cmake --build build/release + + - name: Run tests + env: + QT_QPA_PLATFORM: offscreen + run: ctest --test-dir build/release --output-on-failure From 3bc13c7e51c77e990a60f0cf846da7df5dc0929c Mon Sep 17 00:00:00 2001 From: Matt Guerrette Date: Tue, 6 Oct 2026 14:00:19 -0400 Subject: [PATCH 2/5] Run workflow for development branches --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6766371..428c382 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: Build on: push: - branches: [master] + branches: [master, 'dev/*'] pull_request: branches: [master] From faf7c08c0086f7e03cab46e92cbce45b5eaa37b2 Mon Sep 17 00:00:00 2001 From: Matt Guerrette Date: Tue, 6 Oct 2026 14:01:07 -0400 Subject: [PATCH 3/5] Run on nested dev branches --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 428c382..5800b92 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: Build on: push: - branches: [master, 'dev/*'] + branches: [master, 'dev/**'] pull_request: branches: [master] From a82590712cb6d629d1324ded51b949d26635f8b1 Mon Sep 17 00:00:00 2001 From: Matt Guerrette Date: Tue, 6 Oct 2026 15:19:02 -0400 Subject: [PATCH 4/5] Update build.yml --- .github/workflows/build.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5800b92..293f2f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,12 +78,7 @@ jobs: libwayland-dev - name: Configure - run: cmake -S . -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release -DRDP_ENABLE_UNIT_TESTS=ON + run: cmake -S . -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release - name: Build Release run: cmake --build build/release - - - name: Run tests - env: - QT_QPA_PLATFORM: offscreen - run: ctest --test-dir build/release --output-on-failure From b1802cd86c595188026ac6b0c9f2cb69f0320f05 Mon Sep 17 00:00:00 2001 From: Matt Guerrette Date: Tue, 6 Oct 2026 15:41:44 -0400 Subject: [PATCH 5/5] Update build.yml --- .github/workflows/build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 293f2f8..09b0658 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,7 +75,10 @@ jobs: libgl1-mesa-dev \ libx11-xcb-dev \ libxkbcommon-x11-dev \ - libwayland-dev + libwayland-dev \ + pkg-config \ + libtraceevent-dev \ + libtracefs-dev - name: Configure run: cmake -S . -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release