Skip to content

cp: Bump python to 3.12.12 and mlflow to 3.5.1 (#1482) into r0.4.0#1489

Merged
terrykong merged 2 commits intor0.4.0from
chtruong/bump-deps-0.4.0
Nov 8, 2025
Merged

cp: Bump python to 3.12.12 and mlflow to 3.5.1 (#1482) into r0.4.0#1489
terrykong merged 2 commits intor0.4.0from
chtruong/bump-deps-0.4.0

Conversation

@chtruong814
Copy link
Contributor

@chtruong814 chtruong814 commented Nov 7, 2025

What does this PR do ?

cp: Bump python to 3.12.12 and mlflow to 3.5.1 (#1482) into r0.4.0

Issues

List issues that this PR closes (syntax):

Usage

  • You can potentially add a usage example below
# Add a code snippet demonstrating how to use this

Before your PR is "Ready for review"

Pre checks:

  • Make sure you read and followed Contributor guidelines
  • Did you write any new necessary tests?
  • Did you run the unit tests and functional tests locally? Visit our Testing Guide for how to run tests
  • Did you add or update any necessary documentation? Visit our Document Development Guide for how to write, build and test the docs.

Additional Information

  • ...

Summary by CodeRabbit

  • Chores
    • Updated UV tooling version in Docker build configurations for improved compatibility
    • Updated MLflow dependency to version 3.5.x for enhanced stability and compatibility

Signed-off-by: Charlie Truong <chtruong@nvidia.com>
@chtruong814 chtruong814 requested review from a team as code owners November 7, 2025 23:56
@chtruong814 chtruong814 added r0.4.0 CI:L1 Run doctests, unit tests, and functional tests and removed r0.4.0 labels Nov 7, 2025
Signed-off-by: Charlie Truong <chtruong@nvidia.com>
@chtruong814 chtruong814 added CI:L1 Run doctests, unit tests, and functional tests and removed CI:L1 Run doctests, unit tests, and functional tests labels Nov 8, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 8, 2025

📝 Walkthrough

Walkthrough

Updated UV tooling version from 0.7.2 to 0.9.7 in two Dockerfile configurations and tightened the mlflow dependency constraint to version 3.5.x in pyproject.toml.

Changes

Cohort / File(s) Summary
Docker UV version updates
docker/Dockerfile, docker/Dockerfile.ngc_pytorch
Updated UV_VERSION from 0.7.2 to 0.9.7, affecting which UV installation script is fetched and executed during the build process
Python dependency constraint
pyproject.toml
Tightened mlflow dependency version range from unrestricted to \>=3.5.0,<3.6.0

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • PR #1482: Updates the same Dockerfiles' UV_VERSION and mlflow constraint to identical versions, directly duplicating these changes
  • PR #1299: Modifies UV-related build steps in docker/Dockerfile.ngc_pytorch, potentially requiring coordination with this UV version bump

Suggested labels

cherry-pick, r0.4.0, Run CICD, CI:L1

Suggested reviewers

  • terrykong

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title claims to bump Python to 3.12.12 and mlflow to 3.5.1, but the actual changes show UV version updates (0.7.2 to 0.9.7) and mlflow constrained to 3.5.0,<3.6.0, not 3.5.1 specifically. Update the PR title to accurately reflect the actual changes: update UV to 0.9.7 and mlflow to 3.5.0-3.6.0 range, or clarify if Python/mlflow versions were updated elsewhere.
Test Results For Major Changes ⚠️ Warning PR makes moderate dependency updates (UV 0.7.2→0.9.7, mlflow constrained to 3.5.x, Python 3.12.12) without documenting test results or regression information despite pre-checks listing tests as unchecked. Document test results confirming existing tests pass with new versions, mlflow API compatibility, and Python 3.12.12 behavioral validation. Reference original PR #1482 test results if available.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chtruong/bump-deps-0.4.0

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4e9112f and e9bd2a6.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • docker/Dockerfile (1 hunks)
  • docker/Dockerfile.ngc_pytorch (1 hunks)
  • pyproject.toml (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA-NeMo/RL PR: 0
File: CODING_GUIDELINES.md:0-0
Timestamp: 2025-09-20T14:58:45.492Z
Learning: Applies to **/*.py : Target Python 3.12+ for all Python code in NeMo-RL
📚 Learning: 2025-09-20T14:58:45.492Z
Learnt from: CR
Repo: NVIDIA-NeMo/RL PR: 0
File: CODING_GUIDELINES.md:0-0
Timestamp: 2025-09-20T14:58:45.492Z
Learning: Applies to **/*.sh : Use `uv run` to execute Python scripts in shell/driver scripts instead of activating virtualenvs and calling `python` directly

Applied to files:

  • docker/Dockerfile
📚 Learning: 2025-09-24T18:36:01.919Z
Learnt from: terrykong
Repo: NVIDIA-NeMo/RL PR: 1024
File: .pre-commit-config.yaml:80-81
Timestamp: 2025-09-24T18:36:01.919Z
Learning: In pre-commit hooks, avoid using `uv run` for standalone Python scripts like tools/config_cli.py because `uv run` triggers project synchronization, which adds unnecessary overhead. Use direct script execution (e.g., `./tools/config_cli.py`) instead when the script is designed to be standalone.

Applied to files:

  • docker/Dockerfile
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build-container / main
  • GitHub Check: Post automodel integration comment / Comment on PR
  • GitHub Check: Post submodule check comment / Comment on PR
🔇 Additional comments (4)
pyproject.toml (2)

19-19: Python 3.12+ requirement correctly aligned.

The requires-python = ">=3.12" specification properly reflects the Python 3.12 target per coding guidelines. Note: PR title mentions Python 3.12.12 specifically, but the code uses a flexible >=3.12 constraint—confirm this is intentional to allow any 3.12.x patch version.


50-50: ---

Version constraint is acceptable; no changes needed.

MLflow 3.5.1 is a patch release with bug fixes and improvements, but the constraint >=3.5.0,<3.6.0 is appropriate for allowing patch-level flexibility within a minor version. Using a range rather than pinning to 3.5.1 specifically is standard practice in Python packaging unless 3.5.0 has a critical blocking issue. The changes between 3.5.0 and 3.5.1 are typical maintenance updates without show-stopping bugs that would require the exact version pin.

docker/Dockerfile (1)

44-48: Verify UV 0.9.7 uv python install command stability.

Confirm UV 0.9.7 correctly handles the uv python install command used in line 48. Additionally, ensure this version increment does not affect the subsequent uv sync and dependency resolution steps in the hermetic build stage.

docker/Dockerfile.ngc_pytorch (1)

41-42: Verify UV 0.9.7 compatibility through Docker build testing.

The uv.lock file (requires-python = ">=3.12") provides some protection against breaking changes, but significant uncertainties remain:

  1. Python version mismatch: The NGC PyTorch 25.06-py3 base image's actual Python version is unclear. UV 0.9.7's default shift to Python 3.14 could conflict if the base image provides a different version.

  2. Lock file markers: The lock was resolved for Python < 3.13 and >= 3.13. While >= 3.13 markers may support 3.14, explicit testing for 3.14 is not evident.

  3. Broader breaking changes: Beyond the default Python version, UV 0.9.7 includes multiple breaking changes in environment-handling, lockfile resolution, and project/version commands that may affect downstream Dockerfile commands beyond line 42.

Recommendation: Build and test the Docker image with UV 0.9.7 to confirm uv sync and any subsequent UV-based commands execute successfully without resolution errors or dependency conflicts.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@terrykong terrykong enabled auto-merge (squash) November 8, 2025 00:05
@terrykong terrykong merged commit 399d22f into r0.4.0 Nov 8, 2025
40 of 41 checks passed
@terrykong terrykong deleted the chtruong/bump-deps-0.4.0 branch November 8, 2025 04:40
terrykong added a commit that referenced this pull request Mar 21, 2026
Signed-off-by: Terry Kong <terryk@nvidia.com>
yuki-97 pushed a commit that referenced this pull request Mar 24, 2026
Signed-off-by: Terry Kong <terryk@nvidia.com>
terrykong added a commit that referenced this pull request Mar 24, 2026
Signed-off-by: Terry Kong <terryk@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI:L1 Run doctests, unit tests, and functional tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants