Replace ffprobe-static with ffmpeg-static for metadata extraction in migration scripts. This removes the requirement for ffprobe binaries across Docker, CI, and Vercel environments, simplifying the dependency graph.
54 lines
1.7 KiB
YAML
54 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
|
|
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
|