Skip to content

test: harden Windows CI readiness checks - #321

Merged
Brooooooklyn merged 2 commits into
mainfrom
fix/windows-ci-test-readiness
Sep 14, 2026
Merged

Brooooooklyn merged 2 commits into
mainfrom
fix/windows-ci-test-readiness

Conversation

@Brooooooklyn

@Brooooooklyn Brooooooklyn commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Summary

Harden the tests behind the intermittent Windows failures in the main CI run.

  • Wait for every expected island to hydrate before assertions and interactions across React, Vue, Svelte, and Solid. Add a browser regression covering empty output, missing islands, and partially hydrated siblings.
  • Wait for explicit Nuxt/SvelteKit client readiness instead of network inactivity before testing SPA navigation. Preserve the document-marker assertions that detect full reloads, and attach bounded browser/HMR and server diagnostics on failure.
  • Require successful app responses and a live child process during startup, and correct Windows startup timeout scaling and the Nuxt hook budget.
  • Give the real-process Drizzle suite a scoped timeout (30 seconds on Windows, 10 seconds elsewhere), without increasing ordinary unit-test timeouts.
  • Document the readiness and timeout conventions in TESTING.md.

Failure evidence

  • Drizzle: successful subprocess work exceeded the default five-second test budget (6.071 seconds and 5.183 seconds).
  • Vue islands: the test waited for any hydrated island and then immediately asserted that all siblings were hydrated.
  • Nuxt/SvelteKit navigation: the document marker was lost after navigation. Network inactivity does not establish client readiness; the exact Windows reload trigger was not conclusively captured, so these tests now wait for readiness and collect diagnostics if it recurs.

Verification

Completed locally on macOS:

  • Focused tests: 226 passed across eight files.
  • vp run build:all
  • vp run check
  • vp lint and vp run lint:platform
  • vp fmt --check
  • Full vp test run: 7,496 passed across 373 files; six credentialed live E2E tests skipped.
  • git diff --check

Windows confirmation remains pending CI. The test: windows label enables the Windows matrix for this PR.


Note

Low Risk
Changes are limited to test helpers, CI config, playground test signals, and documentation; no production auth or deploy logic is modified.

Overview
Hardens browser integration tests and Windows CI against flaky readiness and resource pressure, without changing product runtime behavior beyond test playground markers.

Island and SPA readiness: Adds shared waitForIslandsHydrated (minimum island count + all data-hydrated="true") and replaces per-framework waitForSelector / inline waits in React, Vue, Svelte, and Solid client tests. Adds a Playwright regression for empty, under-count, and partially hydrated pages. Nuxt/SvelteKit home pages expose h1[data-hydrated="true"] after client boot; navigation tests wait on that instead of networkidle, keep full-reload markers, and attach collectBrowserDiagnostics plus bounded dev-server stdout/stderr on failure. Dev startup uses stricter waitForServer checks (status, body, child alive) and longer Windows hook budgets for Nuxt.

Windows CI tooling: Parallel integration on Windows gets maxConcurrency: 2 and a setup hook that logs a single shared, bounded PowerShell resource snapshot on first failure per file (memory, processes, TCP). Drizzle deploy-drift subprocess tests get a suite-local timeout (30s Windows / 10s elsewhere). Documents these conventions in TESTING.md.

Reviewed by Cursor Bugbot for commit 89a5f93. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor

cursor Bot commented Sep 14, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_f13ef433-69c0-4fd1-ac1a-690dc5dad7e6)

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-14T10:18:01.657538Z 89a5f93 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Limit concurrent integration tests to two per file on Windows while retaining file parallelism. Capture a bounded, read-only memory and TCP snapshot on the first test failure per file without masking the original error. Add reporter regression coverage and document the policy.
@cursor

cursor Bot commented Sep 14, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_66abef75-5749-413d-b080-39f5ee14612f)

@Brooooooklyn
Brooooooklyn merged commit 0052140 into main Sep 14, 2026
19 checks passed
@Brooooooklyn
Brooooooklyn deleted the fix/windows-ci-test-readiness branch September 14, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant