Skip to content

[Bug]: main reports vllm-omni 0.20.x.dev while codebase/docs target vLLM 0.21.0 — v0.21.0rc1 tagged off main #3858

@hsliuustc0106

Description

@hsliuustc0106

Your code version

vllm: 0.21.0
vllm-omni (editable from main): 0.20.1.dev181+g5f9aee193
git HEAD: 5f9aee19 (origin/main as of 2026-05-25)

Summary

main has been rebased to vLLM 0.21.0 (PR #3530), and docs/CI target vllm==0.21.0. However, editable installs from main report vllm_omni version 0.20.1.dev181+... via setuptools-scm, because the v0.21.0rc1 tag is not on main's history.

This causes a false major/minor mismatch (0.20 vs 0.21) against the documented/test baseline and triggers version-alignment checks / warn_if_misaligned_vllm_version() warnings even when the code is on the 0.21.0 rebase line.

Expected behavior

After the v0.21.0 rebase landed on main, setuptools-scm on latest main should derive a 0.21.x dev version (e.g. from v0.21.0rc1-N-g... or v0.21.0), aligned with:

Actual behavior

On latest main:

git describe --tags --always --long HEAD
# v0.20.0-181-g5f9aee19

python -c 'from setuptools_scm import get_version; print(get_version(root="."))'
# 0.20.1.dev181+g5f9aee193

python -c 'import vllm, vllm_omni; print(vllm.__version__, vllm_omni.__version__)'
# 0.21.0 0.20.1.dev181+g5f9aee193

Major/minor alignment check fails: 0.21 vs 0.20.

Root cause (git topology)

The v0.21.0rc1 tag points to 04c4c674, which is not an ancestor of main:

Commit Description On main?
eb4e60ee [Rebase] Rebase to vllm v0.21.0 (#3530) Yes
67d672db Release pipeline (#3428) — tag branch No
bc26cad1 Release pipeline (#3428) — main Yes
04c4c674 Twine upload — tag branch No
5549b7f4 Twine upload (#3667) — main Yes
v0.21.0rc104c4c674 No

Verification:

git merge-base --is-ancestor v0.21.0rc1 origin/main && echo yes || echo no
# no

git merge-base --is-ancestor v0.20.0 origin/main && echo yes || echo no
# yes

git log --oneline origin/main..v0.21.0rc1
# 04c4c674 Enable twine upload to PyPI in release pipeline
# 67d672db [CI/Build] Unify release pipeline with NIGHTLY=1 option, add x86_64/aarch64 image builds (#3428)

The fork point between main and v0.21.0rc1 is the rebase commit eb4e60ee. The tag sits on two CI commits that were re-merged onto main under different SHAs (bc26cad1, 5549b7f4). main then continued with ~87 more commits, while setuptools-scm still walks back to v0.20.0 (last ancestor tag on main).

setuptools-scm itself appears correct; the release tag placement is wrong.

Impact

  1. False version mismatch for anyone installing editable main with vllm==0.21.0 (documented baseline).
  2. warn_if_misaligned_vllm_version() fires on import (vllm_omni/version.py).
  3. Validation scripts that compare major/minor block testing even though code is on the 0.21 rebase.
  4. Confusing release metadata: docs list 0.21.0 pre-built wheels, but dev installs from main report 0.20.x.dev.
  5. Secondary inconsistency: docker/Dockerfile.cuda still uses vllm/vllm-openai:v0.20.0 while other Dockerfiles/docs use v0.21.0.

Reproduction

git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
git checkout main   # e.g. 5f9aee19

git describe --tags --always --long HEAD
git merge-base --is-ancestor v0.21.0rc1 HEAD; echo "rc1 ancestor exit=$?"

uv venv --python 3.12 .venv && source .venv/bin/activate
uv pip install setuptools-scm wheel
uv pip install "vllm==0.21.0" --torch-backend=cu130
VLLM_OMNI_TARGET_DEVICE=cuda uv pip install -e . --no-build-isolation

python - <<'PY'
import re, vllm, vllm_omni
print("vllm", vllm.__version__)
print("vllm_omni", vllm_omni.__version__)
omni_mm = ".".join(re.match(r"^(\d+\.\d+)", vllm_omni.__version__).group(1).split("."))
vllm_mm = ".".join(re.match(r"^(\d+\.\d+)", vllm.__version__).group(1).split("."))
print("major.minor match:", omni_mm == vllm_mm)
PY

Proposed fix

Release/tagging fix (preferred):

  • Retag or add a tag on an actual main commit after eb4e60ee, e.g.:
    • v0.21.0rc2 on current origin/main, or
    • move v0.21.0rc1 to a real main SHA such as 5549b7f4 or latest main
  • Ensure future RC/stable tags are created only from commits reachable from main.

Follow-up cleanup:

  • Update docker/Dockerfile.cuda base image from v0.20.0v0.21.0 for consistency.

Workaround (for local testing)

Use vllm==0.21.0 (matches the rebased codebase). Do not downgrade to vllm==0.20.0 just to satisfy the version string. Optionally set VLLM_OMNI_VERSION_OVERRIDE only when the mismatch is known to be tagging-related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions