test(e2e): migrate cloud inference scenario#5361
Conversation
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughAdds a new cloud-inference live Vitest E2E scenario: provider-failure classification and evidence, a live test that provisions/cleans sandboxes and validates an inference "PONG" response with retries, and workflow integration plus boundary validators and PR reporting. ChangesCloud Inference Live E2E Vitest
Sequence Diagram(s)sequenceDiagram
participant Test as Live E2E Test
participant Install as install.sh
participant Sandbox as OpenClaw Sandbox
participant Inference as inference.local API
participant Validator as Bash Validators
Test->>Install: run installer (probe)
Install-->>Test: probe stdout/stderr + exit code
Test->>Test: classify probe -> skip evidence?
alt skip
Test->>Test: write skip evidence, skip remaining steps
else proceed
Test->>Sandbox: verify CLI on PATH
Test->>Inference: curl chat completion (JSON)
loop retries
Inference-->>Test: JSON response
Test->>Test: extract content, match /pong/i
end
Test->>Validator: run repo/sandbox validators
Validator-->>Test: validation results
Test->>Test: write artifacts
end
Test->>Sandbox: best-effort cleanup
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
E2E Advisor RecommendationRequired E2E: None Full advisor summaryE2E Recommendation AdvisorFailed: Could not parse JSON from advisor output; see /home/runner/work/NemoClaw/NemoClaw/artifacts/e2e-advisor/e2e-advisor-raw-output.txt |
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: None Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorFailed: Could not parse JSON from advisor output; see /home/runner/work/NemoClaw/NemoClaw/artifacts/e2e-advisor/e2e-scenario-advisor-raw-output.txt |
PR Review AdvisorFindings: 0 needs attention, 1 worth checking, 0 nice ideas Review findings🛠️ Needs attention
🔎 Worth checking
🌱 Nice ideas
Consider writing more tests for
This is an automated advisory review. A human maintainer must make the final merge decision. |
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Vitest E2E Scenario Results — ❌ Some jobs failedRun: 27438223449
|
Vitest E2E Scenario Results — ❌ Some jobs failedRun: 27438324340
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Vitest E2E Scenario Results — ✅ All jobs passedRun: 27438539949
|
Summary
Migrates the legacy
test/e2e/test-cloud-inference-e2e.shcontract into a focused live Vitest scenario for issue #5098. The scenario keeps the live NVIDIA API boundary, install/onboard path, sandbox chat validation, skill filesystem checks, retries, cleanup, and artifact evidence while classifying pre-contract provider rate limiting as an evidence-rich skip.Related Issue
Fixes #5098
Changes
test/e2e-scenario/live/cloud-inference.test.tsfor install/onboard,inference.localchat, repo and sandbox skill validation, retry/artifact capture, and tolerant sandbox cleanup.cloud-inference-vitestselector into.github/workflows/e2e-vitest-scenarios.yamlandtools/e2e-scenarios/free-standing-jobs.env.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesnpm run docsbuilds without warnings (doc changes only)Targeted checks run:
npm ci --ignore-scriptscd nemoclaw && npm ci --ignore-scripts && npm run buildnpx @biomejs/biome check test/e2e-scenario/live/cloud-inference.test.ts test/e2e-scenario/live/cloud-inference-provider-skip.ts test/e2e-scenario/support-tests/cloud-inference-provider-skip.test.ts test/e2e-scenario/support-tests/e2e-scenarios-workflow.test.ts tools/e2e-scenarios/workflow-boundary.mtsnpx vitest run --project e2e-vitest-support test/e2e-scenario/support-tests/cloud-inference-provider-skip.test.ts test/e2e-scenario/support-tests/e2e-scenarios-workflow.test.tsNEMOCLAW_RUN_E2E_SCENARIOS=1 npx vitest run --project e2e-scenarios-live test/e2e-scenario/live/cloud-inference.test.ts --silent=false --reporter=default(skipped locally becauseNVIDIA_API_KEYis not present)npm run build:clinpm run test-size:checknpm run source-shape:checknpx vitest run --project e2e-vitest-support test/e2e-scenario/support-tests/e2e-scenarios-workflow.test.tsnpx vitest run test/e2e-scenario/support-tests/e2e-scenarios-workflow.test.tsgh workflow run e2e-vitest-scenarios.yaml --ref codex/5098-cloud-inference-e2e --field jobs=cloud-inference-vitestgh run watch 27438539949 --interval 20 --exit-statusHook note:
NEMOCLAW_TEST_TIMEOUT=20000 npx prek run --files ...passed once before the final provider-skip classifier patch. After the final patch, the targeted checks above passed again, but local file-scoped hooks were blocked by unrelated full CLI timing flakes (e2e-fixture-contextSIGTERM/SIGKILL expectation and later 5s CLI test timeouts inweb-search-flow,sandbox-mutations, andsnapshot-shields). Automatic PR CI and the requiredcloud-inference-vitestdispatch pass on the final branch tip.Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
Tests
Chores