Skip to content

test(recommendations): Playwright E2E smoke suite for the recommendations flow (closes #167) #4

test(recommendations): Playwright E2E smoke suite for the recommendations flow (closes #167)

test(recommendations): Playwright E2E smoke suite for the recommendations flow (closes #167) #4

Workflow file for this run

name: Frontend E2E (PR)
on:
pull_request:
branches:
- main
paths:
- "frontend/**"
- ".github/workflows/frontend-e2e.yml"
permissions:
contents: read
concurrency:
group: frontend-e2e-pr-${{ github.ref }}
cancel-in-progress: true
jobs:
playwright:
name: Playwright Chromium
runs-on: ubuntu-latest
timeout-minutes: 10
defaults:
run:
working-directory: frontend
env:
CI: "true"
steps:
- name: Checkout
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Install Chromium
run: npx playwright install --with-deps chromium
- name: Run Playwright tests
run: npm run test:e2e
- name: Upload Playwright failure artifacts
if: failure()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: playwright-report-${{ github.run_id }}
path: |
frontend/playwright-report/
frontend/test-results/
if-no-files-found: ignore
retention-days: 7