Skip to content

TEST: Serve seeded E2E from a production frontend build - #3437

Merged
Roman Lutz (romanlutz) merged 1 commit into
microsoft:mainfrom
hannahwestra25:hannahwestra25-flaky-frontend-test
Oct 22, 2026
Merged

Roman Lutz (romanlutz) merged 1 commit into
microsoft:mainfrom
hannahwestra25:hannahwestra25-flaky-frontend-test

Conversation

@hannahwestra25

Copy link
Copy Markdown
Contributor

Description

Seeded E2E tests intermittently time out (example): operations-acceptance loads the page five times, and each Vite dev-server load takes 3–5 s.

A new E2E_PRODUCTION_FRONTEND flag serves the seeded job from vite build + vite preview (~0.4 s loads), the bundle users actually get, which the analytics and paired-outcomes jobs already use. Mock specs keep the dev server since some import /src modules.

Tests and Documentation

  • Seeded suite with the flag: 99/99 passed, no retries; the flaky test takes ~7 s.
  • npm run lint, npx tsc --noEmit: passed.
  • README documents the flag.

Seeded specs reload the app many times, and each load through the Vite
dev server evaluates ~315 unbundled modules (~4.6 s warm) versus ~13
bundled files (~0.4 s) from a production build. That load cost pushed
operations-acceptance tests past the 30 s timeout in CI.

Add an opt-in E2E_PRODUCTION_FRONTEND flag that runs vite build and
vite preview (same port and /api proxy) and set it only for the seeded
CI job. Mock specs stay on the dev server because some import /src
modules in the browser.

Locally, the full seeded suite passed 99/99 with no retries, and the
previously timing-out test took ~7 s.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c0dd4671-c678-4c0d-b82e-b58d53d2201f
@romanlutz
Roman Lutz (romanlutz) added this pull request to the merge queue Oct 22, 2026
Merged via the queue into microsoft:main with commit 469829b Oct 22, 2026
110 of 131 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.

4 participants