From 09a894e84e63ea0cd1bfd7c89b4ca7c77f3bdb24 Mon Sep 17 00:00:00 2001 From: Ryan Bahan Date: Fri, 27 Feb 2026 12:38:14 -0700 Subject: [PATCH] Add e2e tests to PR CI workflow Runs e2e tests as part of the PR workflow with isolated secrets (E2E_CLIENT_ID, E2E_ACCOUNT_EMAIL, E2E_ACCOUNT_PASSWORD, E2E_STORE_FQDN, E2E_SECONDARY_CLIENT_ID). Includes build step, Chromium install, node-pty rebuild, and Playwright artifact uploads on failure. --- .github/workflows/tests-pr.yml | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/tests-pr.yml b/.github/workflows/tests-pr.yml index 7ac2b783bb7..d93800601c0 100644 --- a/.github/workflows/tests-pr.yml +++ b/.github/workflows/tests-pr.yml @@ -220,6 +220,52 @@ jobs: with: base-branch-name: '${{ github.base_ref }}' + e2e-tests: + name: 'E2E tests' + if: github.event.pull_request.head.repo.full_name == github.repository + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v3 + with: + repository: ${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }} + ref: ${{ github.event.pull_request.head.ref || github.event.merge_group.head_ref }} + fetch-depth: 1 + - name: Setup deps + uses: ./.github/actions/setup-cli-deps + with: + node-version: ${{ env.DEFAULT_NODE_VERSION }} + - name: Build + run: pnpm nx run-many --all --skip-nx-cache --target=build --output-style=stream + - name: Install Playwright Chromium + run: npx playwright install chromium + working-directory: packages/e2e + - name: Rebuild node-pty + run: pnpm rebuild node-pty + - name: Run E2E tests + working-directory: packages/e2e + env: + SHOPIFY_FLAG_CLIENT_ID: ${{ secrets.E2E_CLIENT_ID }} + E2E_ACCOUNT_EMAIL: ${{ secrets.E2E_ACCOUNT_EMAIL }} + E2E_ACCOUNT_PASSWORD: ${{ secrets.E2E_ACCOUNT_PASSWORD }} + E2E_STORE_FQDN: ${{ secrets.E2E_STORE_FQDN }} + E2E_SECONDARY_CLIENT_ID: ${{ secrets.E2E_SECONDARY_CLIENT_ID }} + run: npx playwright test + - name: Upload Playwright report + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: packages/e2e/playwright-report/ + retention-days: 14 + - name: Upload test results + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-results + path: packages/e2e/test-results/ + retention-days: 14 + type-diff: if: github.event.pull_request.head.repo.full_name == github.repository name: 'Type-diff'