name: Playwright Tests on: pull_request: branches: - main jobs: test_setup: name: Test setup runs-on: ubuntu-latest outputs: preview_url: ${{ steps.waitForVercelPreviewDeployment.outputs.url }} steps: - name: Wait for Vercel preview deployment to be ready uses: patrickedqvist/wait-for-vercel-preview@main id: waitForVercelPreviewDeployment with: token: ${{ secrets.GITHUB_TOKEN }} max_timeout: 300 test_e2e: needs: test_setup name: Playwright tests timeout-minutes: 5 runs-on: ubuntu-latest steps: - name: Prepare testing env uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: "16" - run: npm ci - run: npx playwright install --with-deps - name: Run tests run: npm run test:e2e env: PLAYWRIGHT_TEST_BASE_URL: ${{ needs.test_setup.outputs.preview_url }}