Skip to content

Conversation

@dmitry-tokarev-nv
Copy link
Contributor

@dmitry-tokarev-nv dmitry-tokarev-nv commented Aug 19, 2025

…ntime stage

Overview:

Details:

Where should the reviewer start?

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • closes GitHub issue: #xxx

Summary by CodeRabbit

  • Chores
    • Streamlined dependency installation to improve build reliability and reproducibility.
    • Pinned the sgLang version for consistent behavior across environments.
    • Added installation of an additional runtime dependency to enhance compatibility.
    • Consolidated multiple install steps into a single operation to reduce build time and potential failures.
    • Aligned CI and runtime setups for consistent outcomes across build environments.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Aug 19, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions github-actions bot added the fix label Aug 19, 2025
@dmitry-tokarev-nv
Copy link
Contributor Author

/ok to test f631de7

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 19, 2025

Walkthrough

The Dockerfile now installs ai_dynamo_runtime, ai_dynamo, nixl wheels from /workspace/wheelhouse and pins sgLang via sgLang[all]==${SGLANG_VERSION}. It consolidates previous separate installs, switches source from /workspace/dist to /workspace/wheelhouse, and leaves prior commands commented for reference in both ci_minimum and runtime sections.

Changes

Cohort / File(s) Summary
Docker build: Python wheel installation
container/Dockerfile.sglang
Consolidated pip installs into a single command sourcing wheels from /workspace/wheelhouse; added nixl wheel; replaced ai-dynamo[sglang] with explicit wheel installs; pinned sgLang via SGLANG_VERSION; preserved prior install lines as comments; updated both ci_minimum and runtime stages.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Dev as Developer
    participant D as Docker Build
    participant S as Stage (ci_minimum/runtime)
    participant P as pip
    participant W as /workspace/wheelhouse

    Dev->>D: Build with SGLANG_VERSION
    D->>S: Execute install steps
    S->>P: pip install ai_dynamo_runtime*cp312*.whl, ai_dynamo*any*.whl, nixl*.whl
    S->>P: pip install sgLang[all]==${SGLANG_VERSION}
    P->>W: Resolve wheel files
    W-->>P: Provide wheels
    P-->>S: Packages installed
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

In a wheelhouse burrow I stash my wares,
cp312 crumbs and nixl’s flares.
One hop, one pip, all neatly pinned,
sgLang’s version on the wind.
Carrots aligned, the build runs true—
Docker dreams in orange hue. 🥕🐇

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

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

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between b9cbee0 and f631de7.

📒 Files selected for processing (1)
  • container/Dockerfile.sglang (1 hunks)
🔇 Additional comments (1)
container/Dockerfile.sglang (1)

475-480: Ensure no conflicting sglang requirement in ai_dynamo/ai_dynamo_runtime wheels

Since you’re explicitly pinning sglang==${SGLANG_VERSION} in the Dockerfile, please verify that neither the ai_dynamo_runtime nor ai_dynamo wheels in /workspace/wheelhouse declare their own sglang requirement (which could override or conflict with your pin). You can do this by inspecting each wheel’s METADATA:

• Run in your build context:

for wheel in /workspace/wheelhouse/ai_dynamo_runtime*cp*.whl \
             /workspace/wheelhouse/ai_dynamo*any.whl; do
  echo "Checking $wheel"
  unzip -p "$wheel" METADATA \
    | grep -E '^Requires-Dist: sglang' \
    || echo "  → no sglang requirement found"
done

• If you find a Requires-Dist: sglang line with a version spec that doesn’t match ${SGLANG_VERSION}, either:

  • update that package’s spec to align with your pin, or
  • install the wheel with --no-deps (e.g., pip install --no-deps …) to ignore its declared dependencies.
    • Rebuild the container and confirm your pinned version is the one used at runtime.

@dmitry-tokarev-nv
Copy link
Contributor Author

/ok to test f581e0e

@nv-anants
Copy link
Contributor

addressed lychee workflow failure in #2538

@dmitry-tokarev-nv
Copy link
Contributor Author

/ok to test fb9ff5b

@dmitry-tokarev-nv dmitry-tokarev-nv merged commit 177d662 into main Aug 20, 2025
10 of 11 checks passed
@dmitry-tokarev-nv dmitry-tokarev-nv deleted the dtokarev-fix-sglang-wheel-installation branch August 20, 2025 00:56
hhzhang16 pushed a commit that referenced this pull request Aug 27, 2025
…in ru… (#2537)

Signed-off-by: Hannah Zhang <hannahz@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants