From 087d3faeff52170ddd1655240fc367011803c7e8 Mon Sep 17 00:00:00 2001 From: Sil Date: Sat, 17 Oct 2026 18:55:07 +0200 Subject: [PATCH 1/2] Support headed browsers with a virtual display on Linux --- .github/workflows/test-live.yml | 8 +++++++- .github/workflows/test.yml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-live.yml b/.github/workflows/test-live.yml index 51a6f2e..aa3f5bf 100644 --- a/.github/workflows/test-live.yml +++ b/.github/workflows/test-live.yml @@ -55,4 +55,10 @@ jobs: run: vp exec playwright install --with-deps chromium firefox webkit - name: Safe live browser smoke if: ${{ inputs.browser }} - run: vp run test:browser + # A virtual display on Linux, for repositories that run a browser headed. + run: | + if [[ "$RUNNER_OS" == Linux ]]; then + xvfb-run -a vp run test:browser + else + vp run test:browser + fi diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 99c415d..fdde5d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -156,7 +156,13 @@ jobs: BASE_URL: ${{ steps.preview.outputs.base-url }} QA_DEPLOY_URLS: ${{ steps.preview.outputs.deploy-urls }} TESTING_SECRET: ${{ secrets.testing-secret }} - run: vp run test:browser + # A virtual display on Linux, for repositories that run a browser headed. + run: | + if [[ "$RUNNER_OS" == Linux ]]; then + xvfb-run -a vp run test:browser + else + vp run test:browser + fi - name: Upload browser failure output if: ${{ failure() && steps.browser.outcome == 'failure' && inputs.browser-artifacts != '' }} uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 From 8e05029d87a706de4fd788fc41962dbcb112cf6f Mon Sep 17 00:00:00 2001 From: Sil Date: Sat, 17 Oct 2026 18:58:02 +0200 Subject: [PATCH 2/2] Declare Bash for portable browser runner selection --- .github/workflows/test-live.yml | 1 + .github/workflows/test.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/test-live.yml b/.github/workflows/test-live.yml index aa3f5bf..23cfe49 100644 --- a/.github/workflows/test-live.yml +++ b/.github/workflows/test-live.yml @@ -56,6 +56,7 @@ jobs: - name: Safe live browser smoke if: ${{ inputs.browser }} # A virtual display on Linux, for repositories that run a browser headed. + shell: bash run: | if [[ "$RUNNER_OS" == Linux ]]; then xvfb-run -a vp run test:browser diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fdde5d5..81900d2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -157,6 +157,7 @@ jobs: QA_DEPLOY_URLS: ${{ steps.preview.outputs.deploy-urls }} TESTING_SECRET: ${{ secrets.testing-secret }} # A virtual display on Linux, for repositories that run a browser headed. + shell: bash run: | if [[ "$RUNNER_OS" == Linux ]]; then xvfb-run -a vp run test:browser