Runs and debugs Room TBA Playwright E2E, integration tests in CI, workflow gating, E2E database, and staging smoke. Use when e2e fails in GitHub Actions, EMAXCONNSESSION pool errors, run/e2e label, e2e-reusable.yml, or test:integration:live locally.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Runs and debugs Room TBA Playwright E2E, integration tests in CI, workflow gating, E2E database, and staging smoke. Use when e2e fails in GitHub Actions, EMAXCONNSESSION pool errors, run/e2e label, e2e-reusable.yml, or test:integration:live locally.
Ordinary pushes after ready do not re-trigger E2E; add label again.
Blocking job order (e2e-reusable.yml)
bun run e2e:reset-db
bun run build:e2e
Start preview (bun run preview:e2e)
bun run test:integration (with PREVIEW_BASE_URL)
bun run e2e (PLAYWRIGHT_SKIP_WEBSERVER=1)
Wall clock ~28–35 min in CI.
Workflows
File
Name
.github/workflows/ci.yml
verify, migrations
.github/workflows/e2e.yml
E2E (PR blocking)
.github/workflows/e2e-advisory.yml
E2E advisory
.github/workflows/e2e-staging.yml
E2E staging + nightly
.github/workflows/staging-smoke.yml
Live staging smoke
Common CI failures
Error
Likely cause
Mitigation
EMAXCONNSESSION max clients reached
Too many parallel PG connections in integration job
CI sets PLAYWRIGHT_WORKERS=1 and DATABASE_POOL_MAX=4; integration runs with --concurrency 1
Preview failed to start
build:e2e or port conflict
Read job log before Playwright step
staging-smoke /admin redirect
Staging deploy lag vs test expectation
Wait for Vercel staging deploy; check live URL
Integration pass locally, fail CI
Missing preview or wrong PREVIEW_BASE_URL
Use test:integration:live
Before marking PR ready
bun run lint && bun test src
bun run test:integration:live # API/service changes
bun run e2e # UI/map/proposal flows
bun run build # substantive changes
staging → main runs E2E + staging-smoke. If only notification/API changes, verify + migrations may suffice for feature PR; release PR still hits full stack. Admin merge only when failures are known infra flakes, not regressions.