test(e2e): retire onboard inference smoke script#5155
Conversation
|
Warning Review limit reached
More reviews will be available in 9 minutes and 26 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis PR migrates the onboard inference smoke test from a bash E2E script to a Vitest unit test, removes the corresponding job from the regression workflow, and updates contract tests to enforce the migration by preventing the retired job from reappearing. ChangesOnboard Inference Smoke Test Migration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
E2E Advisor RecommendationRequired E2E: None Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
|
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: None Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
PR Review AdvisorFindings: 0 needs attention, 0 worth checking, 0 nice ideas Consider writing more tests for
This is an automated advisory review. A human maintainer must make the final merge decision. |
|
Coordination note now that #5126 is green: this PR is still based on the pre-#5126 migration shape. On the intended base,
This appears to overlap #5149, which already carries the onboard-inference-smoke slice on the #5126-based draft stack. My recommendation is to close this as superseded by #5149 unless it contains a distinct assertion that should be ported there. |
|
Migration-principle review for #5098: the core direction here is aligned — focused Vitest coverage is the right replacement for this caller-level onboard inference smoke probe. Reference from Recommended path:
Cleanup requested before merge/rebase:
|
…rd-inference-smoke # Conflicts: # test/e2e-scenario/framework-tests/e2e-migration-inventory.test.ts # test/e2e-scenario/migration/legacy-inventory.json
prekshivyas
left a comment
There was a problem hiding this comment.
Reviewed (code + 9-cat security). Retires test/e2e/test-onboard-inference-smoke.sh + its dispatch lane, replacing it with a Vitest subprocess test that drives setupInference() with a PATH-shimmed openshell/curl.
✅ Approve — coverage preserved and strengthened: the new test sits at top-level test/ (inside the cli project's include, outside the test/e2e/** exclude), so a dispatch-only lane becomes always-on per-PR coverage. Verified end-to-end: production verifyOnboardInferenceSmoke → runCurlProbe → spawnSync("curl") emits every diagnostic the test asserts and process.exit(1) guarantees the route-success line is suppressed; the test correctly sets VITEST="false" so the real smoke runs (not the VITEST==="true" short-circuit). Inventory/contract edits are consistent with no stale refs.
Security: all 9 pass — fake key only, loopback/unroutable endpoint, redacted diagnostics. Nit: the runner.run/runCapture stubs are slightly more mocking than needed (the assertion-bearing probe goes via spawnSync, not the runner).
…rd-inference-smoke # Conflicts: # .github/workflows/regression-e2e.yaml
Summary
Retires the legacy caller-level onboard inference smoke bash regression now that the same contract is covered by a focused Vitest process test.
Related Issues
Refs #3253
Refs #4349
Refs #5098
Refs #5119
Changes
test/onboard-inference-smoke.test.ts, which drivessetupInference()in a subprocess with PATH-shimmedopenshellandcurl./chat/completions, fails closed on upstream HTTP 503, surfaces provider/model/API base/credential diagnostics, and does not print route success after smoke failure.test/e2e/test-onboard-inference-smoke.sh.onboard-inference-smoke-e2elane fromregression-e2e.yaml.Simplicity check
Verification
npm run build:clinpx vitest run test/onboard-inference-smoke.test.tsnpx tsc --noEmit -p jsconfig.jsonnpx vitest run --project cli test/onboard-inference-smoke.test.ts test/regression-e2e-workflow.test.ts test/e2e-script-workflow.test.ts --silent=false --reporter=defaultgit diff --checkNotes:
nemoclaw/dist/nemoclaw/node_modules/json5, Docker daemon unavailable, and several local timeout-sensitive tests). CI should run the repository's normal validation in the correct environment.Type of Change
Summary by CodeRabbit
Tests
Chores
onboard-inference-smoke-e2efrom regression workflow selectable jobs.