Skip to content

ci: Add --prerelease=allow flag to sglang installation#3779

Merged
saturley-hall merged 1 commit into
mainfrom
tusharma/fix-sglang-installation
Oct 21, 2025
Merged

ci: Add --prerelease=allow flag to sglang installation#3779
saturley-hall merged 1 commit into
mainfrom
tusharma/fix-sglang-installation

Conversation

@nv-tusharma

@nv-tusharma nv-tusharma commented Oct 21, 2025

Copy link
Copy Markdown
Collaborator

Overview:

Recent PR's have been blocked due to an installation issue when installing editable sglang:

[framework 6/6] RUN --mount=type=cache,target=/root/.cache/uv     cd /opt &&     git clone https://github.com/sgl-project/sglang.git &&     cd sglang &&     git checkout v0.5.3.post2 &&     uv pip install -e "python[all]":
5.212       flashinfer-python==0.4.0 depends on apache-tvm-ffi==0.1.0b15, we can
5.212       conclude that flashinfer-python==0.4.0 cannot be used.
5.212       And because sglang==0.5.3.post2 depends on flashinfer-python==0.4.0, we
5.212       can conclude that sglang==0.5.3.post2 cannot be used.
5.212       And because only sglang[all]==0.5.3.post2 is available and you require
5.212       sglang[all], we can conclude that your requirements are unsatisfiable.
5.212 
5.212       hint: `apache-tvm-ffi` was requested with a pre-release marker (e.g.,
5.212       apache-tvm-ffi==0.1.0b15), but pre-releases weren't enabled (try:
5.212       `--prerelease=allow`)
------
Dockerfile.sglang:100
--------------------
  99 |     ARG SGLANG_VERSION
 100 | >>> RUN --mount=type=cache,target=/root/.cache/uv \
 101 | >>>     cd /opt && \
 102 | >>>     git clone https://github.com/sgl-project/sglang.git && \
 103 | >>>     cd sglang && \
 104 | >>>     git checkout v${SGLANG_VERSION} && \
 105 | >>>     # Install in editable mode for development
 106 | >>>     uv pip install -e "python[all]"
 107 |     
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c cd /opt &&     git clone https://github.com/sgl-project/sglang.git &&     cd sglang &&     git checkout v${SGLANG_VERSION} &&     uv pip install -e \"python[all]\"" did not complete successfully: exit code: 1

This PR applies the suggestion to pass a --prerelease=allow flag as a pip flag for the sglang installation. https://pypi.org/project/apache-tvm-ffi/#history

Details:

  • Add --prerelease=allow to sglang editable installation.

Where should the reviewer start?

  • container/Dockerfile.sglang

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

  • closes GitHub issue: #xxx

Summary by CodeRabbit

  • Chores
    • Updated build configuration to support pre-release package versions during installation.

Signed-off-by: Tushar Sharma <tusharma@nvidia.com>
@nv-tusharma nv-tusharma requested a review from a team October 21, 2025 18:13
@nv-tusharma nv-tusharma requested review from a team as code owners October 21, 2025 18:13
@github-actions github-actions Bot added the ci Issues/PRs that reference CI build/test label Oct 21, 2025
@nv-tusharma nv-tusharma marked this pull request as draft October 21, 2025 18:15
@coderabbitai

coderabbitai Bot commented Oct 21, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

The Dockerfile build configuration for sglang was updated to permit pre-release package versions during Python dependency installation. The --prerelease=allow flag was added to the uv pip install command for the Python framework with all optional dependencies.

Changes

Cohort / File(s) Summary
Docker build configuration
container/Dockerfile.sglang
Added --prerelease=allow flag to uv pip install command to allow pre-release wheels during Python framework installation

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A hop, a skip, a flag so fine,
Pre-release wheels now intertwine,
Dependencies dance without a care,
Version freedom floating through the air! ✨

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "ci: Add --prerelease=allow flag to sglang installation" directly and clearly describes the main change in the changeset. The title accurately reflects the modification made to the Dockerfile, where the --prerelease=allow flag is added to the uv pip install command for sglang. It is concise, specific, and provides clear context about what was changed and why, making it easy for reviewers to understand the primary objective of the PR.
Description Check ✅ Passed The pull request description follows the template structure with all required sections present and substantively filled out. The Overview section provides clear context about the installation failure with relevant error messages and explains the root cause. The Details section concisely states the change made, the Where should the reviewer start section points to the specific file, and the Related Issues section is included. While the Related Issues section contains a placeholder (#xxx), all other sections contain meaningful and complete information that aids in understanding the purpose and impact of the changes.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

📜 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 b7c335a and e39f094.

📒 Files selected for processing (1)
  • container/Dockerfile.sglang (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: nv-anants
PR: ai-dynamo/dynamo#3290
File: docs/_includes/quick_start_local.rst:13-14
Timestamp: 2025-09-29T19:11:14.161Z
Learning: ai-dynamo package requires --prerelease=allow flag for installation due to sglang dependency requiring RC versions (e.g., sglang[all]==0.5.0rc2).
⏰ 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). (6)
  • GitHub Check: vllm (arm64)
  • GitHub Check: trtllm (amd64)
  • GitHub Check: trtllm (arm64)
  • GitHub Check: sglang
  • GitHub Check: vllm (amd64)
  • GitHub Check: Build and Test - dynamo
🔇 Additional comments (1)
container/Dockerfile.sglang (1)

106-106: ✓ Correct fix for pre-release dependency resolution.

The --prerelease=allow flag resolves the build failure caused by sglang[all]==0.5.3.post2's transitive dependency on apache-tvm-ffi==0.1.0b15. This aligns with the established pattern documented in your learnings (PR #3290) and directly addresses the pip hint from the build error.

Note: Verify that the replacement Dockerfile (Dockerfile.sglang-wideep mentioned on line 4) includes this flag as well to avoid regressions when the deprecation is completed.


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.

@nv-anants nv-anants marked this pull request as ready for review October 21, 2025 18:38
@saturley-hall saturley-hall merged commit 6a2dedd into main Oct 21, 2025
18 of 20 checks passed
@saturley-hall saturley-hall deleted the tusharma/fix-sglang-installation branch October 21, 2025 18:41
nv-tusharma added a commit that referenced this pull request Oct 21, 2025
Signed-off-by: Tushar Sharma <tusharma@nvidia.com>
yao531441 pushed a commit to yao531441/dynamo that referenced this pull request May 13, 2026
Signed-off-by: Tushar Sharma <tusharma@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Issues/PRs that reference CI build/test size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants