name: Playwright Tests
on:
  push:
    branches: [ main, master ]
  pull_request:
    branches: [ main, master ]
jobs:
  e2e-testing:
    timeout-minutes: 60
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
    - name: Install Deps (FFmpeg is install through Playwright)
      run: |
        sudo apt-get update
        sudo apt-get install -y libreoffice-writer
    - name: Install dependencies
      run: npm ci
    - name: Install Playwright Browsers
      run: npx playwright install --with-deps
    - name: Run Playwright tests
      env:
        NEXT_PUBLIC_NODE_ENV: test
        API_BASE: https://koko.richardr.dev/v1
        API_KEY: not-needed
      run: npx playwright test --reporter=list,github,html
    - uses: actions/upload-artifact@v4
      if: ${{ !cancelled() }}
      with:
        name: playwright-report
        path: playwright-report/
        retention-days: 30
