Skip to content

Playwright E2E Tests #2

Playwright E2E Tests

Playwright E2E Tests #2

Workflow file for this run

name: Playwright E2E Tests
on:
push:
branches:
- main
pull_request:
branches:
- "*"
jobs:
test-e2e-frontend:
runs-on: ubuntu-latest
timeout-minutes: 20
defaults:
run:
working-directory: src/frontend
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: "20"
cache: "npm"
cache-dependency-path: src/frontend/package-lock.json
- name: Install frontend dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
- name: Run Playwright tests
# Playwright config automatically starts the dev server
# Tests are designed to gracefully handle missing backend API
# Tests that require backend will be skipped with appropriate messages
run: npm run test:e2e
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: src/frontend/playwright-report/
retention-days: 30
- name: Upload test artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-test-results
path: src/frontend/test-results/
retention-days: 30