vllm 0.11.1 compatibility #1145
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |