clarified how to generate specs #129
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Tests | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| e2e: | |
| name: Playwright E2E Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: 8 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright browsers | |
| run: cd apps/app && pnpm exec playwright install --with-deps chromium | |
| - name: Build application | |
| run: pnpm build | |
| - name: Run E2E database migrations | |
| run: cd apps/app && DATABASE_URL=file:./prisma/e2e.db pnpm prisma migrate deploy | |
| - name: Start dev server (for Inngest) | |
| run: cd apps/app && pnpm dev & | |
| env: | |
| NODE_ENV: development | |
| - name: Wait for dev server | |
| run: | | |
| timeout 60 bash -c 'until curl -f http://localhost:4100/api/health; do sleep 2; done' || exit 1 | |
| - name: Start E2E server | |
| run: cd apps/app && pnpm e2e:server & | |
| env: | |
| DATABASE_URL: file:./prisma/e2e.db | |
| PORT: 5100 | |
| VITE_PORT: 5101 | |
| NODE_ENV: test | |
| - name: Wait for E2E server | |
| run: | | |
| timeout 60 bash -c 'until curl -f http://localhost:5100/api/health; do sleep 2; done' || exit 1 | |
| - name: Run E2E tests | |
| run: cd apps/app && pnpm e2e | |
| env: | |
| CI: true | |
| - name: Upload test results | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report | |
| path: apps/app/playwright-report/ | |
| retention-days: 7 | |
| - name: Upload test screenshots | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: apps/app/test-results/ | |
| retention-days: 7 |