ci: test Node SDK across versions + platforms#312
Conversation
|
Warning Review limit reached
More reviews will be available in 12 minutes and 49 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?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 credits. 🚦 How do rate 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 see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Node 18 leg failed: vitest 4 imports |
vitest 4 needs Node 20+ (util.styleText) and Node 18 is EOL (Apr 2025), so 18 can't be tested. Align the engines floor and tsup target with what's supported.
0162798 to
fe90ea6
Compare
What
Bring the Node SDK CI up to the same cross-version / cross-platform coverage as the Java (#309) and Python suites. It previously ran on one Node (22) and one platform (linux-x64) while npm ships 7 platform binaries.
Why this shape
Node-API is ABI-stable — one
.nodebinary runs every Node major without recompilation (Node-API docs, napi-rs). So the addon is built once on Linux and reused across the Node version matrix; only the platform legs (different binary) rebuild. Same build-once/fan-out pattern as #309.Jobs
native/+static/as an artifact.Node [18, 20, 22]: download the prebuilt addon,pnpm test. No Rust toolchain, no rebuild.fail-fast: false.[macos-15, windows-latest]on Node 22: rebuild the platform-specific addon + dashboard, run the suite. Windows pointsOPENSSL_SRC_PERLat Strawberry Perl for the vendored OpenSSL build.setup-nodegains anode-versioninput (default22, non-breaking) so the matrix can select the runtime.Verification
native/+static/dashboardwith no rebuild — confirms the reuse path the version matrix depends on (dashboard tests readstatic/dashboard, so it's shared in the artifact).Notes
publish-node.yml), matching how the other SDKs scope CI.Node / Build + Lint (linux-x64),Node / Node SDK Tests (Node 18|20|22 / linux-x64),Node / Node SDK Smoke (macos-15|windows-latest)— oldNode / Node SDK Testsgoes away.