From 41921bd738ff72ec3cae915d9c738f11bcf2c56f Mon Sep 17 00:00:00 2001
From: Link
Date: Tue, 10 Feb 2026 08:16:35 -0800
Subject: [PATCH 1/2] ci: add Playwright E2E tests to CI pipeline
- New 'e2e' job runs after lint-test-build
- Installs Playwright Chromium browser
- Runs e2e tests against dev server
- Uploads playwright-report artifact on failure
---
.github/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7a4a5bbb..e0c0ab89 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -36,3 +36,34 @@ jobs:
- name: Build
run: npm run build
+
+ e2e:
+ runs-on: ubuntu-latest
+ needs: lint-test-build
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: npm
+
+ - name: Install
+ run: npm ci
+
+ - name: Install Playwright browsers
+ run: npx playwright install --with-deps chromium
+
+ - name: Run Playwright tests
+ run: npx playwright test
+
+ - name: Upload test results
+ if: ${{ !cancelled() }}
+ uses: actions/upload-artifact@v4
+ with:
+ name: playwright-report
+ path: playwright-report/
+ retention-days: 14
From 001ed876636038278250b2e1905fb7da24a20a38 Mon Sep 17 00:00:00 2001
From: Link
Date: Tue, 10 Feb 2026 08:16:59 -0800
Subject: [PATCH 2/2] ci: add Playwright E2E tests to CI pipeline
- Install Playwright browsers (chromium) after build
- Run E2E tests with existing specs in e2e/
- Upload HTML report as artifact on failure (14-day retention)
---
.github/workflows/ci.yml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e0c0ab89..fe1c7f2c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -37,6 +37,20 @@ jobs:
- name: Build
run: npm run build
+ - name: Install Playwright browsers
+ run: npx playwright install --with-deps chromium
+
+ - name: Run E2E tests
+ run: npx playwright test
+
+ - name: Upload Playwright report
+ if: ${{ failure() }}
+ uses: actions/upload-artifact@v4
+ with:
+ name: playwright-report
+ path: playwright-report/
+ retention-days: 14
+
e2e:
runs-on: ubuntu-latest
needs: lint-test-build