README: add uv notes #818
This file contains 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_CPU_DISABLE_AVX512: "true" | |
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" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
timeout-minutes: 20 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
pyv: ["3.12"] | |
vllm_version: | |
# - "" # skip the pypi version as it will not work on CPU | |
- "git+https://github.com/vllm-project/[email protected]" | |
- "git+https://github.com/vllm-project/vllm@main" | |
- "git+https://github.com/opendatahub-io/vllm@main" | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Free Disk Space | |
uses: jlumbroso/[email protected] | |
with: | |
tool-cache: false | |
large-packages: false | |
docker-images: false | |
- 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 | |
- 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-${{steps.setup-python.outputs.python-version }}-${{ hashFiles('noxfile.py') }} | |
- name: Lint code and check dependencies | |
run: nox --envdir ~/.nox --reuse-venv=yes -v -s lint-${{ matrix.pyv }} | |
- name: Cache ccache cache directory | |
id: cache-ccache | |
uses: actions/cache@v4 | |
with: | |
path: /home/runner/.cache/ccache | |
key: ${{ runner.os }} | |
- name: Run tests | |
run: nox --envdir ~/.nox --reuse-venv=yes -v -s tests-${{ matrix.pyv }} -- --cov-report=xml | |
env: | |
VLLM_VERSION_OVERRIDE: ${{ matrix.vllm_version }} | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v4 | |
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 }} |