97b77c29f9
CI / Lint (push) Successful in 3m27s
CI / Architecture Guardrails (push) Successful in 4m31s
CI / Assistant Split Regression (push) Successful in 5m32s
CI / Typecheck (push) Successful in 6m24s
CI / Unit Tests (push) Successful in 8m31s
CI / Build (push) Successful in 7m35s
CI / E2E Tests (push) Successful in 7m48s
Nightly Security / Dependency Audit (push) Successful in 1m42s
CI / Fresh-Linux Docker Deploy (push) Failing after 9m57s
CI / Release Images (push) Has been skipped
Smoke test #2 kept hitting ERR_CONNECTION_REFUSED on the root path even though curl warm-ups of the same path succeeded. Root cause is the same split-brain bug we just fixed for e2epg: the 'app' hostname on the shared gitea_gitea network resolves to multiple IPs (leftover containers from concurrent runs), and curl vs Chromium picked different ones. Probe each resolved IP for /api/health, pin the winner as APP_BASE_URL via GITHUB_ENV, and route health check, warm-up, and the Playwright smoke run through that explicit IP. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>