Files
metabuilder/codegen/.github/workflows/e2e-tests.yml
johndoe6345789 a51130a127 feat: Add external low-code and postgres repositories
- codegen: Low-code React app with JSON-driven component system
- packagerepo: Schema-driven package repository with backend/frontend
- postgres: Next.js app with Drizzle ORM and PostgreSQL

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 16:48:52 +00:00

63 lines
1.6 KiB
YAML

name: E2E Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
workflow_dispatch:
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm install
- name: Install Playwright Browsers
run: npx playwright install --with-deps chromium
- name: Check if E2E tests exist
id: check-tests
run: |
if [ -d "e2e" ] && [ "$(ls -A e2e/*.spec.ts 2>/dev/null)" ]; then
echo "has_tests=true" >> $GITHUB_OUTPUT
else
echo "has_tests=false" >> $GITHUB_OUTPUT
fi
- name: Run Playwright tests
if: steps.check-tests.outputs.has_tests == 'true'
run: npx playwright test
timeout-minutes: 30
- name: Skip E2E tests
if: steps.check-tests.outputs.has_tests == 'false'
run: echo "No E2E tests configured - skipping"
- name: Upload Playwright Report
uses: actions/upload-artifact@v4
if: always() && steps.check-tests.outputs.has_tests == 'true'
with:
name: playwright-report
path: playwright-report/
retention-days: 30
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: always() && steps.check-tests.outputs.has_tests == 'true'
with:
name: test-results
path: test-results/
retention-days: 30