fix(scaled-evals): keep plugin out of default --all-packages installs - #2341
Conversation
Signed-off-by: Nick Goncharenko <ngoncharenko@nvidia.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA-NeMo/nemo-helix/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughThe scaled-evals plugin now uses editable local paths for its dependencies and is no longer a workspace member. Root project comments describe the opt-in dependency group and its CI requirements. ChangesScaled-evals dependency setup
Suggested reviewers: Merge Risk: ⚪ Minimal · up to Scaled-evals remains opt-in while CI and dedicated checks can install it explicitly; no actionable merge-blocking risk is established. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Summary
Fixes NMP-245.
What is broken
make bootstrapand flox activation both runuv sync --all-packages, which installs every workspace member, including the opt-in scaled-evals plugin.scaled-evals-jobscontroller are discovered and started by default.credentials_encryption_key, which has no default, so it crashes and/health/readyreturns 503.Why this is the fix
--all-packagesonly installs workspace members. Making scaled-evals a path dependency instead of a member keeps it out of every--all-packagesinstall path: Makefile, flox on-activate,Dockerfile.agentic-base, and docs.scaled-evalsdependency group, which the CI lint and test jobs already use.UX before / after
nemo setup --auto --start-services→ readiness returns 503,Unhealthy controllers: scaled-evals-jobs.200 {"status":"ready"}, and scaled-evals doesn't load.uv sync --frozen --all-packages --group scaled-evals.Changes
pyproject.toml: dropplugins/_temporary-scaled-evalsfrom workspace members and change its source to{ path = ..., editable = true }.plugins/_temporary-scaled-evals/pyproject.toml:nemo-helixandnemo-helix-pluginsources change fromworkspace = trueto relative paths, because uv rejects workspace sources in non-members.uv.lock: the plugin moves out of the member list. Resolved versions are unchanged.Type of Change
Quality Gates
--group scaled-evals) still runs the plugin tests.Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
uv lock --check→ passes.uv sync --frozen --all-packages→ uninstallsnemo-scaled-evals-plugin.uv pip show nemo-scaled-evals-pluginreports it isn't found.uv sync --frozen --all-packages --check→ "Would make no changes".uv sync --frozen --all-packages --group scaled-evals→ installs the plugin as editable.uv sync --frozen --no-dev --package nemo-scaled-evals-plugin --dry-run→ still resolves, so the plugin's compose Dockerfile is unaffected.nemo services runwith default services →/health/readyreturns200 {"status":"ready"}, and the logs don't mention scaled-evals.uv run --frozen --group scaled-evals pytest plugins/_temporary-scaled-evals/tests→ 976 passed, 2 skipped, 1 failed. The failure,test_benchmark_import_api.py::test_resumed_import_attaches_opaque_image_metadata_idempotently, also fails without this change (same installed environment).uv run pre-commit run -a→ all hooks pass.Known limitation: the local pre-commit
tyhook doesn't request--group scaled-evals. Contributors editing plugin files should runuv sync --group scaled-evalsfirst. The CIlint-python-types.shalready includes the group.🤖 Generated with Claude Code
Summary by CodeRabbit