From c6a002bf2bd9e0f61d479a4cba741a6b2857aadf Mon Sep 17 00:00:00 2001 From: Istvan Matejcsok <119620946+matejcsok-ee@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:23:39 +0200 Subject: [PATCH] =?UTF-8?q?ci(ubicloud):=20run=20kicad=20e2e=20under=20xvf?= =?UTF-8?q?b=20=E2=80=94=20headed=20firefox=20for=20software=20WebGL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same rationale as the Hetzner workflow change in 3168eff: headless Firefox cannot create any GL context on the GPU-less runner. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci-ubicloud.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-ubicloud.yml b/.github/workflows/ci-ubicloud.yml index 62a0ce1..485ac83 100644 --- a/.github/workflows/ci-ubicloud.yml +++ b/.github/workflows/ci-ubicloud.yml @@ -36,7 +36,10 @@ jobs: run: | export DEBIAN_FRONTEND=noninteractive sudo apt-get update - sudo apt-get install -y cmake ninja-build g++ libjemalloc2 + # xvfb: kicad e2e runs headed Firefox under a virtual display — headless + # Firefox cannot create any GL context on the GPU-less VM (see + # tests/playwright-kicad.config.ts CI prefs). + sudo apt-get install -y cmake ninja-build g++ libjemalloc2 xvfb - uses: actions/checkout@v4 with: { submodules: recursive } @@ -81,7 +84,9 @@ jobs: - name: KiCad e2e (npm run test:kicad) working-directory: tests - run: npm run test:kicad + # xvfb-run: headed Firefox on a virtual display — WebGL needs GLX + Mesa + # llvmpipe, which headless Firefox can't reach on a GPU-less VM. + run: xvfb-run -a npm run test:kicad - name: Upload test logs & screenshots if: always()