You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Centralize default deps versions in a single source-of-truth file #742
Default versions for vLLM, SGLang, and llama-server are currently duplicated across multiple files (Dockerfile, Makefile .github/workflows/release.yml, scripts, README). This makes bumping a version error-prone as they easily drift out of sync (e.g. vLLM was 0.12.0 in CI but 0.17.0 in the Dockerfile).
Introduce a single source-of-truth file (e.g. .versions or .env) that defines the defaults, and have each consumer read from it:
Makefile: VLLM_VERSION ?= $(shell ...)
Dockerfile: remove ARG defaults; always pass via --build-arg
CI workflow: read from the file in a setup step, remove hardcoded input defaults
Shell scripts: source the file or read the relevant value
This ensures a version bump is a one-line change in one file.
Hello, anyone can take it, just discuss beforehand. You can take a look at other issues, too, even if they're not marked as "good first issue", because they still might be good first issues! 😁
Hello, anyone can take it, just discuss beforehand. You can take a look at other issues, too, even if they're not marked as "good first issue", because they still might be good first issues! 😁
Happy to take this on. So, the plan is to introduce a .versions file at the repo root as the single source of truth for all top level backend versions (VLLM_VERSION, SGLANG_VERSION, LLAMA_SERVER_VERSION, VLLM_METAL_RELEASE, DIFFUSERS_RELEASE), and wire every consumer to read from it, preventing The drift already found (eg: SGLang is 0.5.6 in the Dockerfile but 0.4.0 in release.yml).
Changes
Makefile : include .versions, remove duplicate ?= defaults
Dockerfile : drop hardcoded ARG defaults; Makefile already passes every version via --build-arg
release.yml : add a setup step that pipes .versions into $GITHUB_ENV, replace hardcoded input defaults
Shell scripts : source .versions at the top of build-vllm-metal-tarball.sh and build-diffusers-tarball.sh in case someone calls the script directly outside of Make
README : I will update the hardcoded version references here too, with a pointer to .versions as the source of truth, should anything else done ?
One concern: Dockerfile ARG defaults can't be removed entirely. The Dockerfile needs to work standalone (docker build . without Make), for example in the inference-engine repo's CI which builds the image directly. Removing ARG defaults would break that. Instead, keep the ARG defaults in the Dockerfile but always pass --build-arg from Make/CI so the .versions values take precedence. The Dockerfile defaults become the fallback, not the source of truth.
What I'd suggest adding
Also include GO_VERSION and BASE_IMAGE in .versions — these are duplicated between Makefile and Dockerfile too
Add a CI validation step that checks the .versions file is consistent (e.g., grep the values in Dockerfile ARG
defaults and warn if they differ)
Activity
vb-hmn commentedon Mar 9, 2026
I would like to take this issue up.
doringeman commentedon Mar 10, 2026
Take it away @vb-hmn! 😁
ayushgharat234 commentedon Mar 12, 2026
Are you working on this @vb-hmn ? I was wanting to contribute
vb-hmn commentedon Mar 12, 2026
@ayushgharat234 Yes I have it almost ready
ayushgharat234 commentedon Mar 12, 2026
Good luck
alimx07 commentedon Mar 26, 2026
Hi @vb-hmn , are you still working on this? I noticed the repository hasn’t been forked yet.
If not, @doringeman, I’d be happy to take on this issue.
vb-hmn commentedon Mar 26, 2026
I got caught up on work commitments, I wont be able to finish this. Feel free to assign to someone who can.
ayushgharat234 commentedon Mar 26, 2026
Can someone assign this to me
ayushgharat234 commentedon Mar 26, 2026
Can you tell someone to /assign it to me?
doringeman commentedon Mar 27, 2026
Hello, anyone can take it, just discuss beforehand. You can take a look at other issues, too, even if they're not marked as "good first issue", because they still might be good first issues! 😁
alimx07 commentedon Mar 28, 2026
Happy to take this on. So, the plan is to introduce a
.versionsfile at the repo root as the single source of truth for all top level backend versions (VLLM_VERSION,SGLANG_VERSION,LLAMA_SERVER_VERSION,VLLM_METAL_RELEASE,DIFFUSERS_RELEASE), and wire every consumer to read from it, preventing The drift already found (eg: SGLang is0.5.6in the Dockerfile but0.4.0inrelease.yml).Changes
include .versions, remove duplicate?=defaultsARGdefaults; Makefile already passes every version via--build-arg.versionsinto$GITHUB_ENV, replace hardcoded input defaultssource .versionsat the top ofbuild-vllm-metal-tarball.shandbuild-diffusers-tarball.shin case someone calls the script directly outside of Make.versionsas the source of truth, should anything else done ?Happy to discuss before opening the PR.
alimx07 commentedon Apr 1, 2026
@doringeman should I do it ?
doringeman commentedon Apr 1, 2026
Hey @alimx07, yes, go for it!
One concern: Dockerfile ARG defaults can't be removed entirely. The Dockerfile needs to work standalone (docker build . without Make), for example in the inference-engine repo's CI which builds the image directly. Removing ARG defaults would break that. Instead, keep the ARG defaults in the Dockerfile but always pass --build-arg from Make/CI so the .versions values take precedence. The Dockerfile defaults become the fallback, not the source of truth.
What I'd suggest adding
defaults and warn if they differ)