- Remove ffprobe-static dependency and associated configuration - Reimplement ffprobeAudio to parse duration and title tags from ffmpeg output - Update CI workflow to install SeaweedFS binary and set required environment variables - Enhance E2E test setup to handle auth-protected endpoints during document cleanup
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
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
|
|
FFPROBE_BIN: /usr/bin/ffprobe
|
|
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@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: lts/*
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9
|
|
- 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:latest -lc 'command -v weed')
|
|
CID=$(docker create chrislusf/seaweedfs:latest)
|
|
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:
|
|
NEXT_PUBLIC_NODE_ENV: test
|
|
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@v4
|
|
if: ${{ !cancelled() }}
|
|
with:
|
|
name: playwright-report
|
|
path: playwright-report/
|
|
retention-days: 30
|