perf(test): speed up e2e support suite - #6880
Conversation
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
📝 WalkthroughWalkthroughE2E workflow validators now support parsed workflow objects while retaining path-based wrappers. Related tests migrate to in-memory validation, shared workflow planning, multi-file live-test gating, and fake-timer-controlled PID polling. ChangesE2E validation and support tests
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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: This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/e2e/support/e2e-live-target-gating.test.ts`:
- Around line 83-105: The collection test currently validates only all gates
enabled together, so it cannot detect files wired to another target’s gate. Keep
the existing batched assertion and extend the test around gatedFiles and
listLiveTests with an isolated run for each file that enables only its own gate,
then assert that file collects more tests than when its gate is disabled.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 40d8f6d6-8fbe-4627-bb11-1b779ea0863d
📒 Files selected for processing (6)
test/e2e/support/e2e-host-dependency-workflow-boundary.test.tstest/e2e/support/e2e-live-target-gating.test.tstest/e2e/support/e2e-recovery-helpers.test.tstest/e2e/support/e2e-workflow.test.tstools/e2e/hermes-gpu-startup-workflow-boundary.mtstools/e2e/workflow-boundary.mts
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Summary
Reduce
e2e-supportruntime by removing real timer waits, repeated Vitest and shell subprocess startup, and repeated parsing of the E2E workflow. Under the same V8-coverage profile, the project wall time falls from 17.29 seconds to 11.78 seconds (about 32%) without changing tested behavior.Changes
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 unavailablee2e-supportV8-coverage profile: 253 suites and 997 tests passed; 17.29s before, 11.78s afternpm test: 1,506 files passed (3 skipped), 17,150 tests passed (40 skipped)npm run docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit