Skip to content
Latchkey

How to Smoke Test Critical User Journeys After Deploy in GitHub Actions

A health check says the process is up; a journey smoke test proves a user can actually log in and complete a purchase against the deployed release.

Run a tagged subset of e2e specs that cover the highest-value journeys against the deployed URL, keeping the gate fast while still exercising real flows.

Steps

  • Tag the login, checkout, and search specs as @critical.
  • Run only those against the deployed base URL after deploy.
  • Fail the gate (and roll back) if any critical journey fails.

Workflow

.github/workflows/ci.yml
jobs:
  journeys:
    needs: deploy
    runs-on: ubuntu-latest
    env:
      BASE_URL: ${{ vars.DEPLOY_URL }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci && npx playwright install --with-deps
      - run: npx playwright test --grep @critical --retries=1

Gotchas

  • Use dedicated test accounts and idempotent flows so journey tests do not pollute real data.
  • One retry absorbs a single flaky network blip without hiding a genuine regression.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →