Skip to content

vllm 0.11.1 compatibility #1145

vllm 0.11.1 compatibility

vllm 0.11.1 compatibility #1145

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
merge_group:
workflow_dispatch:
schedule:
- cron: "20 4 * * 2" # once a week
env:
FORCE_COLOR: "1"
# facilitate testing by building vLLM for CPU when needed
VLLM_TARGET_DEVICE: "cpu"
# prefer index for torch cpu version
UV_EXTRA_INDEX_URL: "https://download.pytorch.org/whl/cpu"
# have uv match pip's behaviour for extra index operations
UV_INDEX_STRATEGY: "unsafe-best-match"
VLLM_ALLOW_LONG_MAX_MODEL_LEN: 1
VLLM_REPO: "vllm-project/vllm"
# vllm configuration
VLLM_USE_V1: 1 # starting from v0.10.0, V1 must be enabled on CPU
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
tests:
timeout-minutes: 30
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
pyv: ["3.12"]
vllm_ref:
- "v0.10.0"
- "v0.10.1.1"
# vllm CPU isolated builds are broken from 0.10.0 until 0.10.2, due to differing
# torch versions in `pyproject.toml` vs `requirements/cpu.txt`.
# A workaround is to set UV_OVERRIDES=requirements/cpu.txt to force using
# the torch version cpu requires rather than the one specified in
# `pyproject.toml:build-system.requires`
- "v0.10.2"
- "v0.11.0"
- "v0.11.1rc6"
steps:
- name: Check out the repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install vLLM build deps
run: |
sudo apt update
sudo apt install --no-install-recommends -y \
ccache \
libnuma-dev libdnnl-dev opencl-dev
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
python-version: ${{ matrix.pyv }}
enable-cache: true
cache-dependency-glob: |
pyproject.toml
cache-suffix: ${{matrix.vllm_ref}}
- name: Install nox
run: |
uv pip install nox
- name: nox envs cache
id: cache
uses: actions/cache@v4
with:
path: /home/runner/.nox
key: ${{ runner.os }}-python-${{matrix.pyv}}-${{ hashFiles('noxfile.py') }}-${{matrix.vllm_ref}}
- name: hf hub cache
id: hf-cache
uses: actions/cache@v4
with:
path: ~/.cache/huggingface/hub
key: ${{ runner.os }}
- name: Lint code and check dependencies
run: nox --envdir ~/.nox --reuse-venv=yes -v -s lint-${{ matrix.pyv }}
env:
RUFF_OUTPUT_FORMAT: github
- name: Cache ccache cache directory
id: cache-ccache
uses: actions/cache@v4
with:
path: /home/runner/.cache/ccache
key: ${{ runner.os }}
- name: Check out the vllm repository
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: ${{ env.VLLM_REPO }}
ref: ${{ matrix.vllm_ref }}
path: vllm
- name: Setup environment for CPU build
run: |
echo "UV_CONSTRAINTS=vllm/requirements/cpu.txt" | tee -a "$GITHUB_ENV"
echo "VLLM_VERSION_OVERRIDE=git+https://github.com/${VLLM_REPO}@${VLLM_REF}" | tee -a "$GITHUB_ENV"
env:
VLLM_REF: ${{ matrix.vllm_ref }}
- name: Run tests
run: nox --envdir ~/.nox --reuse-venv=yes -v -s tests-${{ matrix.pyv }} -- --cov-report=xml
- name: Upload coverage report
uses: codecov/codecov-action@v5
if: github.actor != 'dependabot[bot]'
with:
fail_ci_if_error: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Build package
run: nox --envdir ~/.nox --reuse-venv=yes -s build-${{ matrix.pyv }}