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