Skip to content

fix: allow NAT prereleases in agentic base image - #1123

Merged
mckornfield merged 2 commits into
mainfrom
6557144-agentic-base-image/mck
Aug 7, 2026
Merged

fix: allow NAT prereleases in agentic base image#1123
mckornfield merged 2 commits into
mainfrom
6557144-agentic-base-image/mck

Conversation

@mckornfield

@mckornfield mckornfield commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add --prerelease=allow to the pinned NAT package-family install in Dockerfile.agentic-base.
  • Update local NAT install guidance to use uv with the same prerelease policy.
  • Add a static regression test that keeps the prerelease option attached to the agentic base image NAT install step.

NVBug

  • 6557144

Validation

  • uv run --frozen pytest tests/agentic-use/tests/test_agentic_base_dockerfile.py tests/agentic-use/tests/test_nat_version_consistency.py -q: 3 passed
  • uv run --frozen ruff check tests/agentic-use/tests/test_agentic_base_dockerfile.py
  • uv run --frozen ty check tests/agentic-use/tests/test_agentic_base_dockerfile.py
  • uv 0.9.14 dry-run resolver with the Dockerfile NAT requirements and --prerelease=allow: resolved successfully

Note

  • Full docker build -f Dockerfile.agentic-base -t nmp-agentic-base:latest . was attempted, but this environment could not reach keyserver.ubuntu.com / ppa.launchpadcontent.net; the build failed before the NAT install layer with curl: (35) Recv failure: Connection reset by peer.

Summary by CodeRabbit

  • Bug Fixes

    • Improved NVIDIA NAT installation reliability by allowing compatible prerelease dependencies.
    • Updated NAT components to version 1.8.0 for consistent Docker and local environments.
    • Added the required NAT evaluation and MCP components to installation examples.
  • Tests

    • Added validation to confirm prerelease support and consistent package versioning across installation methods.

Review follow-up

  • Pushed 3b80686ab (fix: align agentic NAT dependency pins).
  • Validation: agentic base/NAT tests 4 passed; targeted Ruff and ty checks passed; uv pip install --dry-run --prerelease=allow "nvidia-nat[mcp,eval,langchain]==1.8.0" nvidia-nat-atif==1.8.0 nvidia-nat-eval==1.8.0 nvidia-nat-mcp==1.8.0 resolved successfully.
  • Note: uv run pre-commit run -a is blocked by the same helm-docs hook fetch HTTP 503 noted on the related PR.

Latest push

  • Pushed no-code signed amend 45558453e to rerun CI after Actions instability. DCO audit passed.

@mckornfield
mckornfield requested review from a team as code owners August 5, 2026 23:07
NVBug: 6557144
Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>
@mckornfield
mckornfield force-pushed the 6557144-agentic-base-image/mck branch from df1473f to 75e9b4c Compare August 5, 2026 23:10
@mckornfield mckornfield changed the title Allow NAT prereleases in agentic base image fix: allow NAT prereleases in agentic base image Aug 5, 2026
@github-actions github-actions Bot added the fix label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a41935da-f010-459b-96f1-debc043aa385

📥 Commits

Reviewing files that changed from the base of the PR and between cb45559 and 4555845.

📒 Files selected for processing (3)
  • Dockerfile.agentic-base
  • tests/agentic-use/requirements-nat.txt
  • tests/agentic-use/tests/test_agentic_base_dockerfile.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • Dockerfile.agentic-base
  • tests/agentic-use/requirements-nat.txt
  • tests/agentic-use/tests/test_agentic_base_dockerfile.py

📝 Walkthrough

Walkthrough

NAT installation commands now allow prerelease dependencies and use targeted extras. Docker and local requirements pin the NVIDIA NAT package family to version 1.8.0. Tests validate both installation definitions.

Changes

NAT installation

Layer / File(s) Summary
NAT installation commands
Dockerfile.agentic-base, tests/agentic-use/requirements-nat.txt
Commands allow prerelease packages and use mcp, eval, and langchain extras. Docker and local requirements pin the NVIDIA NAT package family to 1.8.0.
Installation validation
tests/agentic-use/tests/test_agentic_base_dockerfile.py
Tests extract the Dockerfile command and validate prerelease allowance, option ordering, package-family pins, and local requirements.

Suggested reviewers: sandychapman

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: enabling NAT prerelease dependencies in the agentic base image.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 6557144-agentic-base-image/mck

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 `@Dockerfile.agentic-base`:
- Around line 110-113: Align all NAT references to version 1.8.0: update the
installation pin in Dockerfile.agentic-base, the requirement in
tests/agentic-use/requirements-nat.txt, and the Dockerfile example and expected
version assertions in tests/agentic-use/tests/test_agentic_base_dockerfile.py;
preserve the existing installation structure and update every affected static
expectation consistently.

In `@tests/agentic-use/tests/test_agentic_base_dockerfile.py`:
- Around line 31-33: Update the dependency assertion covering nvidia-nat-atif,
nvidia-nat-eval, and nvidia-nat-mcp to validate complete requirement tokens
rather than accepting matching substrings. Require the exact ==1.7.0 pin so
versions such as ==1.7.0.post1 do not pass.
🪄 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: d71576ee-2455-43c9-bb66-e5e9e93aa524

📥 Commits

Reviewing files that changed from the base of the PR and between 96cb643 and df1473f.

📒 Files selected for processing (3)
  • Dockerfile.agentic-base
  • tests/agentic-use/requirements-nat.txt
  • tests/agentic-use/tests/test_agentic_base_dockerfile.py

Comment thread Dockerfile.agentic-base Outdated
Comment thread tests/agentic-use/tests/test_agentic_base_dockerfile.py Outdated
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 31446/40067 78.5% 63.1%
Integration Tests 18309/38019 48.2% 20.8%

Comment thread tests/agentic-use/tests/test_agentic_base_dockerfile.py Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
tests/agentic-use/tests/test_agentic_base_dockerfile.py (1)

51-58: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Cover the local prerelease command.

This test validates the package lines but not the documented command in tests/agentic-use/requirements-nat.txt Lines 31-36. A future edit could remove --prerelease=allow while the test still passes. Assert the option and documented package tokens.

Suggested assertion
 def test_local_nat_requirements_pin_package_family() -> None:
+    local_text = REQUIREMENTS_NAT.read_text()
     requirements = {
         line.strip()
-        for line in REQUIREMENTS_NAT.read_text().splitlines()
+        for line in local_text.splitlines()
         if line.strip() and not line.startswith("#")
     }
 
+    assert "uv pip install --prerelease=allow" in local_text
     assert requirements == EXPECTED_LOCAL_NAT_REQUIREMENTS
🤖 Prompt for 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.

In `@tests/agentic-use/tests/test_agentic_base_dockerfile.py` around lines 51 -
58, Update test_local_nat_requirements_pin_package_family to also read and
validate the documented local prerelease command in REQUIREMENTS_NAT, asserting
that it retains --prerelease=allow and the expected package tokens while
preserving the existing package-line equality check.
🤖 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.

Nitpick comments:
In `@tests/agentic-use/tests/test_agentic_base_dockerfile.py`:
- Around line 51-58: Update test_local_nat_requirements_pin_package_family to
also read and validate the documented local prerelease command in
REQUIREMENTS_NAT, asserting that it retains --prerelease=allow and the expected
package tokens while preserving the existing package-line equality check.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 12b8055f-471b-48a7-8075-fbcacc7e8b2a

📥 Commits

Reviewing files that changed from the base of the PR and between 75e9b4c and 3b80686.

📒 Files selected for processing (3)
  • Dockerfile.agentic-base
  • tests/agentic-use/requirements-nat.txt
  • tests/agentic-use/tests/test_agentic_base_dockerfile.py

@mckornfield
mckornfield force-pushed the 6557144-agentic-base-image/mck branch from 3b80686 to 4555845 Compare August 7, 2026 04:36
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

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.

Signed-off-by: Matt Kornfield <mkornfield@nvidia.com>
@mckornfield
mckornfield force-pushed the 6557144-agentic-base-image/mck branch from 4555845 to 1456e3d Compare August 7, 2026 15:47

@SandyChapman SandyChapman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mckornfield
mckornfield enabled auto-merge August 7, 2026 15:51
@mckornfield
mckornfield added this pull request to the merge queue Aug 7, 2026
Merged via the queue into main with commit 792f513 Aug 7, 2026
51 checks passed
@mckornfield
mckornfield deleted the 6557144-agentic-base-image/mck branch August 7, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants