ci: consolidate hermetic Vitest lanes - #6857
Conversation
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
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 (14)
💤 Files with no reviewable changes (3)
📝 WalkthroughWalkthroughCLI coverage shards now include the ChangesE2E coverage consolidation
Estimated code review effort: 4 (Complex) | ~45 minutes Suggested labels: Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant PRWorkflow
participant CliCoverageShard
participant E2EMockParity
participant Vitest
participant Checks
PRWorkflow->>CliCoverageShard: start sharded coverage with full history
CliCoverageShard->>E2EMockParity: validate changed live mock parity when required
CliCoverageShard->>Vitest: run cli, integration, and e2e-support projects
PRWorkflow->>Checks: provide remaining required job results
Checks->>Checks: verify non-retired required lanes
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage remains at 96%, unchanged from the TypeScript / code-coverage/cliThe overall coverage in the Show a code coverage summary of the most impacted files.
Updated |
PR Review Advisor — InformationalAdvisor assessment: Informational / high confidence Model lanes
Nemotron output stays in workflow artifacts and does not change the assessment above. E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: 1 optional E2E recommendation
This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
<!-- markdownlint-disable MD041 --> ## Summary Jetson workflow mutation tests now validate the runner-dispatch boundary in memory instead of serializing a 249 KB workflow and running the full aggregate validator for every mutation. This keeps `e2e-support` in the combined CLI coverage shards while removing the operation that exceeded the five-second test budget under CI contention. ## Changes - Add `validateJetsonRunnerDispatchBoundary` as the shared consumer of the existing Jetson workflow input, selector, routing, and guard checks; the aggregate E2E workflow validator continues to invoke it. - Route focused Jetson mutations through that in-memory boundary instead of temporary YAML files and repeated whole-workflow validation. The current requirement is the combined coverage shard introduced in #6857, and `jetson-workflow-boundary.test.ts` protects the direct and aggregate validator paths. - Leave artifact-upload and Docker-auth cleanup contracts with their dedicated validators and tests rather than duplicating those cross-cutting assertions in the Jetson dispatch test. - Reduce the previously failing coverage-mode mutation from 1.35 seconds to 118 milliseconds locally. ## Type of Change - [x] 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) ## Quality Gates - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: Internal test-harness optimization; no CLI behavior, workflow behavior, contributor command, or user-facing contract changes. - [x] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [x] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: No runtime runner path changed. The aggregate validator still invokes the same Jetson input, selector, routing, and dispatch-guard checks, and the complete E2E support suite passes. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification - [x] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub - [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or `npm run check:diff` passed when hooks were skipped or unavailable - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — `npx vitest run --project e2e-support`: 116 files and 1,000 tests passed; focused CI-style V8 coverage run: 3 tests passed and the mutation completed in 118 ms. - [ ] Applicable broad gate passed — `npm test` for broad runtime/test-harness changes; `npm run check` for repo-wide validation/coverage changes — command/result: - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Updated end-to-end workflow validation to check Jetson GPU dispatch boundaries directly and consistently. * Refined expected validation results to focus on runner queue settings and dispatch guard ordering. * **Refactor** * Consolidated workflow boundary checks, reducing duplicate validation paths and improving test reliability. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Consolidates hermetic Vitest coverage into the existing CLI shard matrix so PR and
mainCI have fewer independent lanes to reason about. Retires the duplicate mock Ollama shell lane and standalone live-workflow alias while keeping the realollama-auth-proxytarget available through the canonical E2E workflow.Changes
e2e-supportVitest project and changed-live-E2E mock-parity validation in the eight shared CLI coverage shards..github/workflows/pr.yaml: the current PR and PRs targeting older bases rune2e-supportdirectly only when the trusted base action does not advertise that project. A direct action replacement is insufficient because PR-authored composite actions cannot be executed with the base workflow's trust.test/pr-workflow-contract.test.tsprotects the capability probe, bootstrap conditions, full-history checkout, and steady-state shared action.test/e2e-ollama-proxy.shin favor of the existing handler Vitest, adding the one missing unauthenticatedPOST /api/tagsassertion.ollama-proxy-e2e.yamlalias; the liveollama-auth-proxytarget remains selectable through.github/workflows/e2e.yaml.Type of Change
Quality Gates
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run check:diffpassed when hooks were skipped or unavailable38integration contract/handler/shard tests and4E2E-support retirement tests passed.npm test: 1,504 files / 17,105 tests passed;npm run check: all pre-commit/manual checks and coverage ratchets passed.npm run docsbuilds without warnings (doc changes only) — passed with 0 errors and 2 existing Fern warnings.test/e2econtributor docs; markdownlint passed.Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
CI Improvements
Bug Fixes
Documentation