Skip to content

test(e2e): migrate model router routed inference to Vitest#5137

Closed
cv wants to merge 10 commits into
codex/e2e-simplify-migration-trackingfrom
codex/e2e-migrate-model-router-provider-routed
Closed

test(e2e): migrate model router routed inference to Vitest#5137
cv wants to merge 10 commits into
codex/e2e-simplify-migration-trackingfrom
codex/e2e-migrate-model-router-provider-routed

Conversation

@cv

@cv cv commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Migrates the Model Router provider-routed inference regression from the legacy test/e2e shell wrapper into a single Vitest live scenario. The regression workflow now builds the checkout CLI, prepares OpenShell, runs the scenario directly through e2e-scenarios-live, and uploads fixture artifacts.

Related Issue

Refs #4941

Changes

  • Add test/e2e-scenario/live/model-router-provider-routed-inference.test.ts with routed onboard, model-router health, and inference.local PONG assertions.
  • Replace test/e2e/test-model-router-provider-routed-inference.sh in regression-e2e.yaml with direct Vitest execution and artifact upload.
  • Extend test/regression-e2e-workflow.test.ts to lock the new workflow contract and keep the retired shell path out.

Legacy E2E deletion evidence

  • Script: test/e2e/test-model-router-provider-routed-inference.sh
    • Legacy contract: validates provider-routed Model Router inference through the regression E2E workflow boundary.
    • Replacement Vitest coverage: test/e2e-scenario/live/model-router-provider-routed-inference.test.ts
    • Intentionally retired behavior: the bash wrapper/direct shell lane is retired; no product behavior assertion is intentionally dropped.
    • Fidelity verification: focused checks listed in this PR plus the updated workflow coverage exercise the replacement Vitest path.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Carlos Villela cvillela@nvidia.com

@cv cv self-assigned this Jun 10, 2026
@copy-pr-bot

copy-pr-bot Bot commented Jun 10, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2bf015a4-7f63-4182-a164-03b172033e66

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/e2e-migrate-model-router-provider-routed

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: model-router-provider-routed-inference-e2e
Optional E2E: None

Dispatch hint: model-router-provider-routed-inference-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/codex/e2e-simplify-migration-tracking
Head: HEAD
Confidence: high

Required E2E

  • model-router-provider-routed-inference-e2e (high; live cloud-backed sandbox, Docker/OpenShell, and NVIDIA_API_KEY required): This PR directly changes the existing Model Router provider-routed inference regression lane and migrates its implementation. Run the exact workflow job to prove the new Vitest live scenario, OpenShell setup, CLI build path, NVIDIA_API_KEY handling, artifact collection, sandbox cleanup, and inference.local routed completion assertion work in CI.

Optional E2E

  • None.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: regression-e2e.yaml
  • jobs input: model-router-provider-routed-inference-e2e

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: e2e-scenarios-all
Optional scenario E2E: None

Dispatch required scenario E2E:

  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref>

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/codex/e2e-simplify-migration-tracking
Head: HEAD
Confidence: high

Required scenario E2E

  • e2e-scenarios-all: The PR adds a live Vitest scenario test under test/e2e-scenario/live/. This is scenario E2E live-test surface, but the new model-router provider-routed test is not a trusted live-supported typed registry scenario ID in the canonical registry/runtime-support path, so a targeted dispatch cannot be recommended. Run the canonical Vitest scenario fan-out instead.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref>

Optional scenario E2E

  • None.

Relevant changed files

  • test/e2e-scenario/live/model-router-provider-routed-inference.test.ts

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Since last review: 1 prior item resolved, 0 still apply, 0 new items found

Consider writing more tests for
  • **Runtime validation** — Run the model-router-provider-routed-inference-e2e workflow lane in a trusted environment and verify it provisions the routed provider, reports model-router healthy_count > 0, returns PONG through inference.local, and uploads fixture artifacts.. The diff changes a secret-bearing live regression workflow and a sandbox/inference integration path. Static workflow contract coverage is strong, but runtime validation in a trusted environment is still the only way to confirm the OpenShell install, CLI build, routed onboard, model-router health, sandbox exec, and fixture artifact upload all compose correctly.
  • **Runtime validation** — Add a workflow-contract assertion that model-router-provider-routed-inference-e2e keeps job-level permissions limited to contents: read.. The diff changes a secret-bearing live regression workflow and a sandbox/inference integration path. Static workflow contract coverage is strong, but runtime validation in a trusted environment is still the only way to confirm the OpenShell install, CLI build, routed onboard, model-router health, sandbox exec, and fixture artifact upload all compose correctly.
  • **Runtime validation** — Add fast coverage for isRoutedPongResponse rejecting invalid JSON, the wrong model name, and routed responses that do not contain PONG.. The diff changes a secret-bearing live regression workflow and a sandbox/inference integration path. Static workflow contract coverage is strong, but runtime validation in a trusted environment is still the only way to confirm the OpenShell install, CLI build, routed onboard, model-router health, sandbox exec, and fixture artifact upload all compose correctly.
  • **Acceptance clause:** Refs Adopt Vitest fixtures as the E2E scenario execution model #4941 — add test evidence or identify existing coverage. The deterministic context did not include linked issue Adopt Vitest fixtures as the E2E scenario execution model #4941 clauses or comments, so issue-specific acceptance criteria could not be mapped beyond the PR body's migration claims.

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure area: inference Inference routing, serving, model selection, or outputs refactor PR restructures code without intended behavior change labels Jun 10, 2026
@wscurran

Copy link
Copy Markdown
Contributor

@jyaunches

Copy link
Copy Markdown
Contributor

Reopening #5151 for now. PR-stack migrations that are not yet confirmed with working E2E scenario tests should not supersede PRs that already have working E2E scenario evidence.

#5151 demonstrated green typed scenario coverage, including e2e-vitest-scenarios.yaml run 27289873087 on head 8397f0b7a with ubuntu-repo-cloud-openclaw-provider-routed passing. If #5137 is intended to replace #5151, please carry over or re-prove the same E2E scenario evidence on the #5126-based stack before treating #5151 as superseded.

@jyaunches

Copy link
Copy Markdown
Contributor

Closing this as superseded by #5151 for now.

#5151 covers the same provider-routed model-router migration and has working E2E scenario evidence: e2e-vitest-scenarios.yaml run 27289873087 passed on head 8397f0b7a, including ubuntu-repo-cloud-openclaw-provider-routed. By contrast, this draft PR's own advisors require e2e-vitest-scenarios.yaml and regression-e2e.yaml:model-router-provider-routed-inference-e2e, but I could not find any runs for this PR's current head bdc62318d7a95916200b160fa553d42e4992157a on either workflow.

If this branch has distinct assertions worth preserving, please port them onto #5151 or re-open after proving equivalent E2E on this #5126-based stack.

@jyaunches jyaunches closed this Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure area: inference Inference routing, serving, model selection, or outputs refactor PR restructures code without intended behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants