Repository navigation
fix: let the vLLM version guard accept any base tag (nightly, latest, day-0 images) - #360
ashwinsreedhar28 wants to merge 1 commit into
Conversation
The guard added in runpod-workers#335 compares vllm.__version__ to VLLM_VERSION with the leading "v" stripped. That only holds for release tags (v0.32.0). Nightly, latest and vLLM's model-named day-0 images (step-5-preview, muse-spark-open, gemma4, ...) carry dev versions, so every build from them fails, including the nightly path the README documents. Record the base image's vLLM before any pip install and verify afterwards that it is unchanged; this still catches the vllm-bnb-plugin downgrade for any base tag. For release tags (including -cu130 style suffixes) also check the installed version is that release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kxoD6sb3tVrig5ddmB8f1
|
Just thinking about this. But since this template has only been used for major/minor release tags. Not sure if we should have this implemented. Use case I see is someone building the repo themselves. |
Fair point, release builds don't need this, and nothing changes for them: a vX.Y.Z tag still gets the exact version check. The use case is people building it themselves, which the README already suggests ("To run a nightly vLLM build, point For me it's mostly about new models. vLLM pushed Happy to make the non-release path opt-in with a build arg if you'd rather keep the default strict. |
… builds FROM a day-0 tag Not part of the model-code PR; only for building the evidence image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kxoD6sb3tVrig5ddmB8f1
… builds FROM a day-0 tag Not part of the model-code PR; only for building the evidence image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kxoD6sb3tVrig5ddmB8f1
… builds FROM a day-0 tag Not part of the model-code PR; only for building the evidence image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kxoD6sb3tVrig5ddmB8f1
The vLLM version guard from #335 compares
vllm.__version__toVLLM_VERSIONwith thevstripped. That only works for plain release tags. Any other base tag fails the build:nightly,latest, and vLLM's model-named day-0 images (step-5-preview,muse-spark-open,gemma4, ...), which carry dev versions like0.1.dev22912+g8224bb82f. That includes the nightly path the README documents ("pointVLLM_VERSIONat a nightly tag or uselatest").This records the base image's vLLM before any pip install and checks afterwards that it didn't change, so the vllm-bnb-plugin replacement from #335 is caught for every base tag, not just releases. Plain release tags keep the exact version check. Release tags with a build suffix (
v0.32.0-cu130) are now recognised as release 0.32.0; before, they were compared against0.32.0-cu130and always failed.Why it matters: vLLM publishes a model-named image by release day for many big open-weight launches. In a hand-picked sample of 25 new-architecture releases this year, 18 had one, and 16 of those were available on or before the recorded release date. The worker can't currently be built from those images. Among the 23 of those 25 that have a vLLM final release, the median time to a published worker image whose vLLM lists the architecture was 24 days (that's a registry proxy and can overstate the real serving delay; method and caveats in the link below).
Evidence:
python -m pytest teststests/test_check_vllm_version.py)FROM vllm/vllm-openai:step-5-preview(day-0 tag)vLLM 0.1.dev22912+g8224bb82f OK for base tag step-5-preview(run)MAX_MODEL_LEN=4096, 24 GB classFROM vllm/vllm-openai:v0.32.0(default release tag)base image vLLM: 0.32.0,vLLM 0.32.0 OK for base tag v0.32.0(run)pip install --no-deps vllm==0.31.0, test branch only)ERROR: vLLM changed during the build: base image had 0.1.dev22912+g8224bb82f, now 0.31.0(run)The image-build and Serverless jobs need upstream secrets to complete on a fork PR; happy for them to be mirrored the way #352 was for #351.
Study, build logs and results: https://github.com/ashwinsreedhar28/day0-ready