build(cli): add a Windows CI smoke job for the spawn path - #1408
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 3 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (5)
WalkthroughAdds a reusable Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant Bun
participant GeneratedHelpers
participant Node
participant npm
GitHubActions->>Bun: run build:bundle
GitHubActions->>Bun: bundle npm.ts and spawn.ts
GitHubActions->>Node: run smoke.mjs
Node->>GeneratedHelpers: resolve and spawn npm --version
GeneratedHelpers->>npm: execute npm command
npm-->>Node: return version and exit code
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
4493062 to
789e3ed
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Around line 127-131: Add a separate `bun run typecheck` step to the Windows
smoke job near the existing `bun run build:bundle` step. Keep the bundle build
unchanged and use the repository’s canonical typecheck command so `tsc --noEmit`
runs during this job.
In @.oxlintrc.json:
- Around line 109-110: Update the test/spawn ignore entry in .oxlintrc.json to
target only test/spawn/*.generated.mjs, preserving lint coverage for smoke.mjs
while continuing to ignore generated bundles.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 7d1d7894-9ccc-46b7-9755-ec649c9a4539
📒 Files selected for processing (5)
.github/workflows/ci.yml.gitignore.oxlintrc.jsonpackage.jsontest/spawn/smoke.mjs
Unit tests take the platform as a parameter, so they pass on Linux whatever win32 does. WIZ-11274 (`spawn npm ENOENT`) reached a customer through that gap. Only a Windows runner reaches CreateProcess. The job boots the bundle and spawns npm through the real resolveNpmCommand and defaultSpawn. It does not run `bun run test`: around 30 test files assert POSIX separators or file modes and fail on win32 for reasons unrelated to the product.
789e3ed to
945efe2
Compare
Unit tests take the platform as a parameter, so they pass on Linux whatever win32 does — which is how WIZ-11274 (
spawn npm ENOENT) reached a customer. Only a Windows runner reaches CreateProcess, so this job boots the bundle and spawns npm through the realresolveNpmCommandanddefaultSpawn.The ticket asked for typecheck plus the test suite. Typecheck is platform-independent, and around 30 test files assert POSIX separators or file modes, so the suite fails on win32 for reasons unrelated to the product — WIZ-11279 tracks that. Neither step would have caught WIZ-11274; the spawn smoke does.
Closes WIZ-11275