From d427cc26747463447f77b84457d4f1ace272f820 Mon Sep 17 00:00:00 2001 From: QA Runner Date: Fri, 17 Jul 2026 14:13:30 -0700 Subject: [PATCH] ci(e2e): upload the Playwright report even on timeout/cancel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch the artifact step from !cancelled() to always() so a run that hits the 30-minute job timeout (the failure mode when many specs retry) still uploads the HTML report and traces instead of skipping the upload — that partial report is exactly what's needed to diagnose the failing specs. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/e2e.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c03fda47..5e2c457e 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -168,11 +168,14 @@ jobs: - name: Run Playwright run: npx playwright test + # always() (not !cancelled()) so the report still uploads when the job is + # cancelled by the timeout — that's exactly when you most need the traces. - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} + if: always() with: name: playwright-report path: | playwright-report/ test-results/ retention-days: 14 + if-no-files-found: ignore