Skip to content

Commit 15899db

Browse files
committed
Fix transitive dependencies and vLLM version detection
PROBLEM 1: Missing Transitive Dependencies - User got error: 'Could not find a version that satisfies the requirement anyio<5,>=3.5.0 (from anthropic)' - Download script used --no-deps flag, so only direct dependencies were downloaded - Transitive deps like anyio (required by anthropic) were missing from PyPI index FIX 1: Remove --no-deps flag - Removed --no-deps from download_dependency_wheels.py line 138 - Now pip downloads ALL transitive dependencies automatically - Updated validation threshold from 40 to 150 wheels (transitive deps add ~100-200 wheels) - Added 'anyio' to critical packages validation list PROBLEM 2: Wrong vLLM Version - Built wheel shows version 0.1.dev instead of expected 0.11.0dev - GitHub Actions checkout@v4 uses shallow clone by default (no history, no tags) - setuptools-scm runs 'git describe' but can't find v0.11.x tags - Falls back to oldest reachable tag (v0.1.x) FIX 2: Fetch full git history in all checkout steps - Added 'fetch-depth: 0' to all 4 checkout actions in workflow - This fetches full git history and all tags - setuptools-scm can now correctly detect version from git describe - vLLM wheel will now have correct version (0.11.x) EXPECTED RESULTS: - PyPI index will have 200-300 wheels (up from ~100) - All transitive dependencies present (anyio, etc.) - Users can install without --extra-index-url fallback - vLLM wheel version will be correct (0.11.x instead of 0.1.dev) Tested locally: download script now gets 104 direct deps + transitive deps
1 parent 3735664 commit 15899db

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

.github/scripts/download_dependency_wheels.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,13 @@ def download_wheels(
129129
try:
130130
# Use pip download with specific Python version
131131
# Try to get binary wheels first, but allow source builds as fallback
132+
# NOTE: Not using --no-deps to include all transitive dependencies
132133
cmd = [
133134
sys.executable,
134135
"-m",
135136
"pip",
136137
"download",
137138
"--prefer-binary",
138-
"--no-deps",
139139
"--dest",
140140
str(output_dir),
141141
"--python-version",
@@ -286,11 +286,11 @@ def main():
286286
print(f"Downloaded {len(wheels)} wheels to {args.output_dir}")
287287
print(f"{'=' * 60}")
288288

289-
# Validate critical packages were downloaded
289+
# Validate critical packages were downloaded (including key transitive dependencies)
290290
CRITICAL_PACKAGES = {
291291
'regex', 'numpy', 'transformers', 'tokenizers', 'protobuf',
292292
'pydantic', 'aiohttp', 'requests', 'tqdm', 'fastapi',
293-
'typing-extensions', 'packaging', 'pyyaml'
293+
'typing-extensions', 'packaging', 'pyyaml', 'anyio'
294294
}
295295

296296
# Get set of downloaded package names (normalized)

.github/workflows/build-rocm-wheel.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ jobs:
4747
steps:
4848
- name: Checkout repository
4949
uses: actions/checkout@v4
50+
with:
51+
fetch-depth: 0 # Fetch full history for correct version detection
5052
- name: Set up Docker Buildx
5153
uses: docker/setup-buildx-action@v3
5254
- name: Build ROCm base image (full)
@@ -99,6 +101,8 @@ jobs:
99101
steps:
100102
- name: Checkout repository
101103
uses: actions/checkout@v4
104+
with:
105+
fetch-depth: 0 # Fetch full history for correct version detection
102106
- name: Set up Python
103107
uses: actions/setup-python@v5
104108
with:
@@ -127,14 +131,15 @@ jobs:
127131
WHEEL_COUNT=$(ls artifacts/dependency-wheels/*.whl 2>/dev/null | wc -l)
128132
echo "Downloaded $WHEEL_COUNT wheels"
129133
130-
if [ "$WHEEL_COUNT" -lt 40 ]; then
131-
echo "::error::Too few wheels downloaded ($WHEEL_COUNT). Expected at least 40."
134+
# With transitive dependencies, we should have 150+ wheels
135+
if [ "$WHEEL_COUNT" -lt 150 ]; then
136+
echo "::error::Too few wheels downloaded ($WHEEL_COUNT). Expected at least 150 (including transitive dependencies)."
132137
echo "::error::Check the download logs above for failures."
133138
exit 1
134139
fi
135140
136-
# Check for specific critical packages
137-
CRITICAL_PKGS="regex numpy transformers tokenizers protobuf pydantic aiohttp requests tqdm fastapi"
141+
# Check for specific critical packages (including transitive deps)
142+
CRITICAL_PKGS="regex numpy transformers tokenizers protobuf pydantic aiohttp requests tqdm fastapi anyio"
138143
MISSING=""
139144
140145
for pkg in $CRITICAL_PKGS; do
@@ -166,6 +171,8 @@ jobs:
166171
steps:
167172
- name: Checkout repository
168173
uses: actions/checkout@v4
174+
with:
175+
fetch-depth: 0 # Fetch full history for correct version detection
169176

170177
- name: Download base Docker image (normal mode)
171178
if: github.event.inputs.debug_mode != 'true'
@@ -222,6 +229,8 @@ jobs:
222229
steps:
223230
- name: Checkout repository
224231
uses: actions/checkout@v4
232+
with:
233+
fetch-depth: 0 # Fetch full history for correct version detection
225234

226235
- name: Download all artifacts (normal mode)
227236
if: github.event.inputs.debug_mode != 'true' && github.event.inputs.skip_to_job4 != 'true'

0 commit comments

Comments
 (0)