perf(ci): trim plugin installs from CLI coverage - #11333
Conversation
Signed-off-by: Charan Jagwani <cjagwani@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 (7)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe CI dependency installer now accepts ChangesCI dependency installation modes
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to CI coverage workflows now install only the plugin dependencies they need while preserving the default full installation path. The updated installer and workflow contracts cover the new modes, with no remaining merge-blocking risk identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 4 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit 97630b8 in the TypeScript / code-coverage/cliThe overall line coverage in commit 97630b8 in the Show a line coverage summary of the most impacted files.
Updated |
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
PR Review Advisor finished for commit |
Outcome
CLI coverage shards now install only the plugin's production dependencies, and the coverage merge job skips plugin dependencies entirely. A three-run local benchmark reduced the median plugin install from 20.6s to 11.5s per shard (44%) and
node_modulesfrom 121MB to 6.7MB; skipping it removes the full install from merge setup. Production behavior is unchanged.Reason
All 12 CLI coverage shards and the merge job used the shared full dependency install even though shards only need plugin runtime packages and merge needs no plugin packages. That repeated avoidable work extends the coverage gate's critical path and consumes runner I/O.
Related issues
Part of #6237.
Changes
full,production, andnoneplugin modes to the trusted CI dependency installer; existing callers retain thefulldefault.productionin CLI coverage shards andnonein the CLI coverage merge job.This recovers only the small dependency-install portion of closed PR #11098; broader shard balancing and test splitting remain separate changes.
Verification
npm run catalog:compile && npx vitest run --project integration test/repository/ci-install-dependencies.test.ts test/automation/pull-requests/pr-workflow-contract.test.ts test/repository/plugin-vitest-project.test.ts test/repository/cli-coverage-sequencer.test.ts --coverage=false— 4 files and 66 tests passed withnemoclaw/node_modulescontaining production dependencies only.npm ciruns with a warm shared cache — full median 20.574s;--omit=devmedian 11.452s; install size 121MB vs 6.7MB.9965cbabbcf685971e5d71ae03086fe4137ec990is Verified.mainatf8f9a1b240; landed fix test(ci): refresh current main contracts #11332 changes exactly those assertions. After merging currentmain, all three files pass (69 tests).97630b8e662cc35378d4306a38f6c8298ddd6269is also Verified.Review notes
The install-time measurements are local macOS evidence; the exact hosted-runner saving should be confirmed by this PR's fresh CI timing. The change is fail-closed: unsupported modes and multiple arguments are rejected before any install runs.
Signed-off-by: Charan Jagwani cjagwani@nvidia.com