mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-04 02:33:47 +10:00
Remove the Semantic CSS acceptance suite (six specs, fifteen visual baselines, and its fixtures) along with the --grep-invert that excluded it from CI. With the serial PDF preflight gone, Playwright can run four workers in CI instead of one. Also drop the slowest and most redundant specs: PDF raster direction, thumbnail resolution, import reproduction, imported tables, picture rendering, and literal whitespace, plus the basic authored-page guidance, settings profile, and resume lifecycle checks already covered elsewhere. Trim the OAuth consent matrix to allow and deny on an existing session.
92 lines
2.2 KiB
YAML
92 lines
2.2 KiB
YAML
name: E2E Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: ["main"]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
APP_URL: http://localhost:3000
|
|
PORT: "3000"
|
|
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/postgres
|
|
FLAG_DISABLE_SIGNUPS: "false"
|
|
FLAG_DISABLE_EMAIL_AUTH: "false"
|
|
FLAG_DISABLE_API_RATE_LIMIT: "true"
|
|
LOCAL_STORAGE_PATH: /tmp/reactive-resume-e2e-storage
|
|
|
|
jobs:
|
|
e2e:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16
|
|
env:
|
|
POSTGRES_DB: postgres
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd "pg_isready -U postgres -d postgres"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v6
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: "24"
|
|
cache: "pnpm"
|
|
|
|
- name: Install Dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Run Server and Tooling Tests
|
|
run: pnpm exec turbo run test:ci --filter=server --filter=@reactive-resume/tooling
|
|
|
|
- name: Install Playwright Browser
|
|
run: pnpm exec playwright install --with-deps chromium
|
|
|
|
- name: Generate Test Secrets
|
|
run: |
|
|
echo "AUTH_SECRET=$(openssl rand -hex 32)" >> "$GITHUB_ENV"
|
|
echo "ENCRYPTION_SECRET=$(openssl rand -hex 32)" >> "$GITHUB_ENV"
|
|
|
|
- name: Prepare Storage
|
|
run: mkdir -p "$LOCAL_STORAGE_PATH"
|
|
|
|
- name: Run Database Migrations
|
|
run: pnpm db:migrate
|
|
|
|
- name: Build
|
|
run: pnpm build
|
|
|
|
- name: Run E2E Tests
|
|
run: pnpm exec playwright test
|
|
|
|
- name: Upload Playwright Report
|
|
if: always()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: playwright-report
|
|
path: |
|
|
playwright-report
|
|
test-results
|
|
if-no-files-found: ignore
|
|
retention-days: 7
|