Skip to content

feat(e2e): Playwright AUTH-004 PR-gate against prod (Layer 1)#153

Merged
mastermanas805 merged 1 commit into
mainfrom
feat/playwright-auth-contract-pr-gate-fresh
May 30, 2026
Merged

feat(e2e): Playwright AUTH-004 PR-gate against prod (Layer 1)#153
mastermanas805 merged 1 commit into
mainfrom
feat/playwright-auth-contract-pr-gate-fresh

Conversation

@mastermanas805

Copy link
Copy Markdown
Member

Per-PR Chromium smoke against api.instanode.dev. 3/3 passed locally in 2.8s.

Why

The 2026-05-29 → 2026-05-30 login outage had 3 stacked failures (web missing exchange POST, web preflight header, api missing ACAC). Worker auth-probe catches 5min post-deploy; OpenAPI contract CI catches schema drift; NOTHING caught the end-to-end browser traversal at PR time. This closes that gap.

What

e2e/auth-contract.spec.ts asserts:

  1. CORS preflight returns ACAO=<web_origin> AND ACAC=true
  2. cross-origin POST from web origin completes (no 'Failed to fetch')
  3. POST /auth/email/start returns 202 {ok:true}

Triggers: pull_request to main, push to main, workflow_dispatch (with env override), repository_dispatch type auth-contract-e2e-from-api (api follow-up PR will wire this).

Coverage (rule 17)

  • Symptom: any of today's 3 login-bug-class failures resurfaces
  • Sites found: 1 (this test file)
  • Coverage test: assertion failures fire the gate
  • Live verified: 3/3 passed against PROD before this PR opened

Per-PR Chromium smoke against api.instanode.dev. Three asserts:
  1. CORS preflight returns ACAO=<web_origin> and ACAC=true
  2. cross-origin POST from web origin completes (no 'Failed to fetch')
  3. POST /auth/email/start returns 202 {ok:true}

Closes the pre-merge gap for the 2026-05-29 → 2026-05-30 login regression
class. The worker auth-probe catches it 5 min post-deploy; the OpenAPI
contract CI catches schema drift; this catches the end-to-end browser
traversal at PR time. Bounded ~3s test + npm/Playwright setup ~90s.

Triggers: pull_request to main, push to main, workflow_dispatch (with
optional E2E_API_URL/E2E_WEB_ORIGIN override), and repository_dispatch
type 'auth-contract-e2e-from-api' (api repo will fire this from its CI
in a follow-up PR — closes cross-repo gap).

Local verify: 3/3 passed against PROD in 2.8s.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

size-limit report 📦

Path Size
dist/assets/index-7FGKNfzq.js 163.65 KB (0%)
dist/assets/index-BsJUZYRr.css 6.13 KB (0%)

@mastermanas805 mastermanas805 merged commit 9e674bc into main May 30, 2026
17 checks passed
@mastermanas805 mastermanas805 deleted the feat/playwright-auth-contract-pr-gate-fresh branch May 30, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant