Skip to content

feat(041): cross-source alignment with SchemaView dedup #56

feat(041): cross-source alignment with SchemaView dedup

feat(041): cross-source alignment with SchemaView dedup #56

Workflow file for this run

name: E2E Tests
on:
pull_request:
paths:
- "frontend/**"
- "backend/**"
- "docker-compose.yml"
- ".github/workflows/e2e-tests.yml"
jobs:
e2e:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- name: Start all services
run: |
cp .env.example .env 2>/dev/null || true
docker compose up -d --build
- name: Wait for backend healthy
run: |
for i in $(seq 1 30); do
if curl -sf http://localhost:8002/health > /dev/null 2>&1; then
echo "Backend healthy"
break
fi
echo "Waiting for backend... ($i/30)"
sleep 5
done
- name: Wait for frontend healthy
run: |
for i in $(seq 1 20); do
if curl -sf http://localhost:3000 > /dev/null 2>&1; then
echo "Frontend healthy"
break
fi
echo "Waiting for frontend... ($i/20)"
sleep 5
done
- uses: pnpm/action-setup@v5
with:
version: 10
- uses: actions/setup-node@v5
with:
node-version: 22
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install frontend deps
working-directory: frontend
run: pnpm install --frozen-lockfile
- name: Install Playwright browsers
working-directory: frontend
run: pnpm exec playwright install --with-deps chromium
- name: Run Playwright E2E tests
working-directory: frontend
run: pnpm exec playwright test --config=playwright.ci.config.ts
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v6
with:
name: playwright-report
path: frontend/playwright-report/
retention-days: 7
- name: Tear down
if: always()
run: docker compose down -v