chore(customizer): fix setuptools CVE in the RL image + docs cleanup - #1187
Conversation
📝 WalkthroughWalkthroughThe RL image documentation now identifies DPO as supported and GRPO as planned. It documents dependency prefetching, runtime cache behavior, and publish cleanup. The standalone Transformer Engine wheel build and related Bake configuration are removed. ChangesRL image build cleanup
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@docker/rl/Dockerfile.nmp-rl-base`:
- Around line 269-285: Update the packaging documentation in docker/rl/README.md
to reflect the exclusions in the Dockerfile’s nemo-rl COPY step: state that the
Megatron-Bridge/mcore source tree is absent from /opt/nemo-rl, and document that
enabling the mcore extra requires restoring both the source checkout and
corresponding copy rules.
- Around line 209-211: Make both nemo-rl COPY steps fail when their excluded
TensorRT-LLM-workspace or Megatron-Bridge-workspace paths are present in the
destination. Add immediate post-copy verification commands for each exclusion,
using checks that return a nonzero status on any match, so later uv steps cannot
proceed after an ineffective exclusion.
🪄 Autofix
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: 9f6ec822-4e31-4bc8-ad35-a9835ad41e77
📒 Files selected for processing (1)
docker/rl/Dockerfile.nmp-rl-base
|
382e21b to
77b628a
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
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 `@docker/rl/README.md`:
- Around line 122-138: Update the later worker-to-venv mapping to assign GRPO
policy training to DTensorPolicyWorkerV2 with the automodel extra, matching the
Dockerfile behavior. Revise the prefetch documentation to state seven filters
and eight venvs, and remove the claim that automodel is not prefetched or builds
on the node by default.
🪄 Autofix
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: b1a44363-5c42-4af4-a40d-a7b317fc4d25
📒 Files selected for processing (4)
docker-bake.hcldocker/base/Dockerfile.python-wheelsdocker/rl/Dockerfile.nmp-rl-basedocker/rl/README.md
💤 Files with no reviewable changes (2)
- docker-bake.hcl
- docker/base/Dockerfile.python-wheels
|
For the main/upcoming release that doesn't have GRPO merged yet, can we remove the GRPO references in the README or just add (future) by the references? |
Signed-off-by: anubhutiv <anubhutiv@nvidia.com>
77b628a to
340f79a
Compare
Summary
setuptoolsCVE in RL imageChanges
1. setuptools CVEs
jaraco.context 5.3.0andwheel 0.45.1, vendored inside a setuptools 79.0.1 that no venv uses. It comes from Megatron-Bridge, which pinssetuptools<80.0.0inbuild-system.requires; uv resolves that in an isolated PEP 517 build environment and leaves the result in/opt/uv_cache, which ships.setuptools>=80.10.2override can't reach it, overrides govern the projectresolution, not build environments and a build constraint can't either2. Cleanup
transformer-engine-wheeltarget and its bake wiring. It was not being consumed, and it can't be.uv.lockpins TE as a git source, souv sync --frozenbuilds from git regardless of any wheel on diskDockerfile.nmp-rl-basecomments and now the detail lives indocker/rl/README.mdType of Change
Quality Gates
Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
Summary by CodeRabbit
Documentation
Chores