fix(setup): retry login up to 3× with 90s timeout and 15s backoff #12
Reference in New Issue
Block a user
Delete Branch "claude/e2e-login-retry-20260612"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Hostinger rate-limits GitHub runner IPs on
wp-login.php, causingTimeoutError: page.goto wp-login.php 30000ms exceededduring the auth setup step. This has produced 6 deploy-gate failures across 2 days (latest: v0.18.2 run 27390193150, 3/3 failures). All 21 real smoke tests pass whenever setup survives.Approach: retry hardening (not app-password)
The app-password route was evaluated and ruled out:
smoke.ymlonly passesSTAGING_WP_ADMIN_USER+STAGING_WP_ADMIN_PASSWORD— no app-password secret exists in the workflow03-admin-plugins.spec.tsand00-homepage.spec.tsdepend on#wpadminbarvisibility, which requires real browser session cookies built via the login form — a REST-built storage state would not satisfy these checksChanges (
global.setup.tsonly)BrowserContextper attempt — stale cookies / throttle state cannot carry over between retriesconsole.log/console.errorso any future failure is diagnosable from CI logs aloneAssertions: unchanged
The
#wpadminbarvisibility check andstorageStatewrite are identical to before. The retry loop only wraps the navigation + form-fill; it does not skip, weaken, or gate any assertion. No changes toplaywright.config.ts,smoke.yml, or any test spec.Agent-Session: e2e-login-flake-20260612