diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 269ebd7..b1334f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,6 +11,7 @@ on: jobs: unit-test: + name: unit tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -30,3 +31,39 @@ jobs: - name: Run unit tests run: pnpm run test:unit + e2e_tests_setup: + name: setup end-to-end tests + 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@v1.3.1 + id: waitForVercelPreviewDeployment + with: + token: ${{ secrets.GITHUB_TOKEN }} + max_timeout: 600 + e2e_tests: + needs: e2e_tests_setup + name: end-to-end tests + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install dependencies + run: pnpm install + - name: Install Playwright Browsers + run: pnpm exec playwright install --with-deps + - name: Run Playwright tests + run: pnpm exec test:e2e + env: + E2E_TEST_BASE_URL: ${{ needs.e2e_tests_setup.outputs.preview_url }} + - uses: actions/upload-artifact@v3 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30