name: Playwright Tests on: push: branches: [ main, master ] pull_request: branches: [ main, master ] jobs: e2e-testing: timeout-minutes: 60 runs-on: ubuntu-latest env: FFMPEG_BIN: /usr/bin/ffmpeg USE_EMBEDDED_WEED_MINI: true BASE_URL: http://127.0.0.1:3003 S3_ENDPOINT: http://127.0.0.1:8333 steps: - uses: actions/checkout@v5 - uses: actions/setup-node@v5 with: node-version: lts/* package-manager-cache: false - uses: pnpm/action-setup@v6 - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y libreoffice-writer ffmpeg - name: Install SeaweedFS weed binary run: | WEED_PATH=$(docker run --rm --entrypoint sh chrislusf/seaweedfs:4.18 -lc 'command -v weed') CID=$(docker create chrislusf/seaweedfs:4.18) docker cp "${CID}:${WEED_PATH}" ./weed docker rm "${CID}" sudo install -m 0755 ./weed /usr/local/bin/weed rm -f ./weed weed version - name: Install dependencies run: pnpm install --frozen-lockfile - name: Verify ffprobe run: ffprobe -version - name: Install Playwright Browsers run: pnpm exec playwright install --with-deps - name: Run Playwright tests env: API_BASE: https://api.deepinfra.com/v1/openai API_KEY: ${{ secrets.DEEPINFRA_API_KEY }} run: pnpm exec playwright test --reporter=list,github,html - uses: actions/upload-artifact@v7 if: ${{ !cancelled() }} with: name: playwright-report path: playwright-report/ retention-days: 30