Skip to content

test(visual-skin): give browser fixture launches room for cold starts - #3882

Merged
bobleer merged 1 commit into
openBitFun:mainfrom
bobleer:bob/fix-visual-skin-browser-timeouts
Nov 12, 2026
Merged

bobleer merged 1 commit into
openBitFun:mainfrom
bobleer:bob/fix-visual-skin-browser-timeouts

Conversation

@bobleer

@bobleer bobleer commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Give the visual-skin browser fixture tests enough time for a cold headless Chromium launch on loaded CI runners.

Every visual-skin browser fixture launched Chromium with timeout: 20000 inside a 30 s test. On hosted Linux runners the first launch in a file now regularly exceeds that while the full web UI suite runs in parallel, failing Frontend Build with spawnSync /usr/bin/chromium ETIMEDOUT or Test timed out in 30000ms. This has failed main after #3877/#3879/#3880 merged (run 43127517941) and repeatedly on unrelated PRs (#3878, #3881), always on the first fixture case of surface.test.ts / materials.test.ts.

The fixtures now share BROWSER_FIXTURE_LAUNCH_TIMEOUT_MS (60 s) and BROWSER_FIXTURE_TEST_TIMEOUT_MS (90 s) from browser-fixture.test-support.ts instead of per-file literals. Assertions are unchanged.

Type and Areas

Type: test / CI

Areas: web UI tests (visual skin)

Motivation / Impact

No direct user-facing change. Unblocks Frontend Build on main and open PRs.

Verification

  • OPENBITFUN_TEST_BROWSER=<Chrome> npx vitest run src/infrastructure/visual-skin --exclude '**/storage.test.ts' in src/web-ui: 17 files, 134 tests passed with a real browser (storage.test.ts is unchanged; it fails locally for an IndexedDB environment reason with or without this change and passes in CI)
  • tsc --noEmit in src/web-ui

Reviewer Notes

AI-assisted change. This raises budgets rather than changing what is measured; if cold starts keep growing, a shared warm-up launch per file would be the next step.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

The visual-skin browser fixtures launched headless Chromium with a 20 s
budget inside a 30 s test. On loaded hosted runners the first cold launch in
a file now regularly exceeds that (spawnSync ETIMEDOUT), failing Frontend
Build on main and on unrelated PRs. Share one launch budget (60 s) and one
test budget (90 s) across the fixtures instead of per-file literals.
@bobleer
bobleer merged commit a891309 into openBitFun:main Nov 12, 2026
9 checks passed
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