[pull] master from supabase:master #621
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: Selfhosted Studio E2E Tests | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| # Cancel old builds on new commit for same workflow + branch/PR | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| test: | |
| timeout-minutes: 60 | |
| runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| # Require approval only for pull requests from forks | |
| environment: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork && 'Studio E2E Tests' || '' }} | |
| steps: | |
| - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 | |
| - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
| id: filter | |
| with: | |
| filters: | | |
| studio: | |
| - 'packages/pg-meta/**' | |
| - 'apps/studio/**' | |
| - 'apps/ui-library/**' | |
| - 'apps/design-system/**' | |
| - 'e2e/studio/**' | |
| - 'pnpm-lock.yaml' | |
| - '.github/workflows/studio-e2e-test.yml' | |
| - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | |
| if: steps.filter.outputs.studio == 'true' | |
| name: Install pnpm | |
| with: | |
| run_install: false | |
| - name: Use Node.js | |
| if: steps.filter.outputs.studio == 'true' | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version-file: '.nvmrc' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| if: steps.filter.outputs.studio == 'true' | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright Browsers | |
| if: steps.filter.outputs.studio == 'true' | |
| run: pnpm -C e2e/studio exec playwright install chromium --with-deps --only-shell | |
| - name: 🚀 Run Playwright tests against Vercel Preview | |
| if: steps.filter.outputs.studio == 'true' | |
| id: playwright | |
| run: pnpm e2e | |
| - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| if: always() && steps.filter.outputs.studio == 'true' | |
| with: | |
| name: playwright-artifacts | |
| path: | | |
| e2e/studio/playwright-report/ | |
| e2e/studio/test-results/ | |
| retention-days: 7 | |
| - name: Comment Playwright test results on PR | |
| uses: daun/playwright-report-comment@be9e270edd5ad86038604d3caa84a819a6ff6fed # v3.10.0 | |
| if: always() && steps.filter.outputs.studio == 'true' && github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork | |
| with: | |
| report-file: e2e/studio/test-results/test-results.json | |
| comment-title: '🎭 Playwright Test Results' | |
| - name: Fail job if tests failed | |
| if: steps.filter.outputs.studio == 'true' && (steps.playwright.outcome != 'success' || steps.summarize.outputs.flaky_count > 0) | |
| run: | | |
| echo "E2E tests failed" >&2 | |
| exit 1 |