[client] ci: run tests with each build
Some checks failed
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled

Run CTest directly in every client matrix job so each build is tested
without waiting for the full matrix to complete.

Install the Mesa runtime in the build job, preserve failure artifacts,
and remove the archive transfer and duplicate test job.
This commit is contained in:
Geoffrey McRae
2026-08-08 01:31:40 +10:00
parent e9d4b2f563
commit d3fff4eb57

View File

@@ -21,7 +21,7 @@ jobs:
- name: Install client dependencies
run: |
sudo apt-get install \
weston libgtest-dev \
weston libgtest-dev libgl1-mesa-dri \
libdw-dev libunwind-dev \
libspice-protocol-dev nettle-dev \
libgl-dev libgles-dev \
@@ -51,20 +51,22 @@ jobs:
run: |
cd client/build
make -j$(nproc)
- name: Run client tests
id: tests
run: ctest --test-dir client/build --output-on-failure
- name: Upload client test failures
if: failure() && steps.tests.outcome == 'failure'
uses: actions/upload-artifact@v6
with:
name: client-test-failures-${{ matrix.compiler.cc }}-${{ matrix.wayland_shell }}-${{ matrix.build_type }}
path: |
client/build/Testing/
/tmp/lg-render-case.*
- name: Checking help spelling
run: ./client/build/looking-glass-client --help | ./doc/lgspell.py
- name: Check GL function calls
if: matrix.compiler.cc == 'clang'
run: WAYLAND_SHELL='${{ matrix.wayland_shell }}' ./gl-check
- name: Package client build
run: tar -cf client-build.tar -C client build
- name: Upload client build
uses: actions/upload-artifact@v6
with:
name: client-build-${{ matrix.compiler.cc }}-${{ matrix.wayland_shell }}-${{ matrix.build_type }}
path: client-build.tar
retention-days: 1
module:
runs-on: ubuntu-latest
steps:
@@ -246,54 +248,3 @@ jobs:
run: |
cd doc
make dirhtml SPHINXOPTS='-b spelling -W' -j$(nproc)
client-tests:
needs: client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compiler:
- {cc: gcc, cxx: g++}
- {cc: clang, cxx: clang++}
wayland_shell: [xdg-shell, libdecor]
build_type: [Release, Debug]
steps:
- uses: actions/checkout@v5
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install \
weston libgtest-dev libgl1-mesa-dri \
libdecor-0-dev libdbus-1-dev \
libdw-dev libunwind-dev \
libspice-protocol-dev nettle-dev \
libgl-dev libgles-dev \
libx11-dev libxss-dev libxi-dev libxinerama-dev \
libxcursor-dev libxpresent-dev \
libwayland-dev libxkbcommon-dev libfontconfig-dev \
libsamplerate0-dev libpipewire-0.3-dev libpulse-dev
- name: Download client build
uses: actions/download-artifact@v7
with:
name: client-build-${{ matrix.compiler.cc }}-${{ matrix.wayland_shell }}-${{ matrix.build_type }}
path: client-build
- name: Run client tests
id: tests
run: |
tar -xf client-build/client-build.tar -C client
ctest --test-dir client/build --output-on-failure
- name: Upload client test failures
if: failure() && steps.tests.outcome == 'failure'
uses: actions/upload-artifact@v6
with:
name: client-test-failures-${{ matrix.compiler.cc }}-${{ matrix.wayland_shell }}-${{ matrix.build_type }}
path: |
client/build/Testing/
/tmp/lg-render-case.*