feat: [CI] Introduce uv to accelerate pip install (#7127)

### What this PR does / why we need it?
Integrates uv: Significantly accelerates pip install execution and
resolves concurrency issues caused by traditional pip caching
mechanisms.

Why pip install uc-manager is explicitly added:
This project depends on uc-manager. However, installing it via uv pip
install uc-manager currently fails due to a known issue. An issue has
already been filed with the upstream uv repository to address this.
Consequently, we explicitly invoke pip install uc-manager as a temporary
workaround to ensure the build succeeds.
https://github.com/ModelEngine-Group/unified-cache-management/issues/736

Why use UV_SYSTEM_PYTHON: 1:
No virtual environment has been created yet; this configuration has the
same effect as directly using `pip install`.

- vLLM version: v0.16.0
- vLLM main:
15d76f74e2

Signed-off-by: tfhddd <2272751277@qq.com>
This commit is contained in:
tfhddd
2026-03-12 16:47:23 +08:00
committed by GitHub
parent 592661e787
commit 21fea86b08
5 changed files with 82 additions and 33 deletions

View File

@@ -19,6 +19,12 @@ on:
required: false
type: boolean
default: false
env:
UV_INDEX_URL: http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
UV_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
UV_INDEX_STRATEGY: unsafe-best-match
UV_NO_CACHE: 1
UV_SYSTEM_PYTHON: 1
jobs:
e2e-light:
@@ -58,6 +64,7 @@ jobs:
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 20
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 20
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -70,14 +77,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test
env:
@@ -147,6 +155,7 @@ jobs:
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 20
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 20
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -159,14 +168,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run e2e test
env:
VLLM_WORKER_MULTIPROC_METHOD: spawn
@@ -233,6 +243,7 @@ jobs:
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 20
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 20
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -245,14 +256,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test (light)
env:
VLLM_WORKER_MULTIPROC_METHOD: spawn
@@ -319,6 +331,7 @@ jobs:
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 20
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 20
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -331,14 +344,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test (full)
env:
VLLM_WORKER_MULTIPROC_METHOD: spawn
@@ -412,6 +426,7 @@ jobs:
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 20
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 20
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -424,14 +439,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test for V1 Engine
env:
@@ -491,6 +507,7 @@ jobs:
run: |
apt-get -y install `cat packages.txt`
apt-get -y install gcc g++ cmake libnuma-dev
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -503,14 +520,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test
env:
@@ -550,6 +568,7 @@ jobs:
run: |
apt-get -y install `cat packages.txt`
apt-get -y install gcc g++ cmake libnuma-dev
pip install uv
- name: Checkout vllm-project/vllm repo
uses: actions/checkout@v6
@@ -562,14 +581,15 @@ jobs:
- name: Install vllm-project/vllm from source
working-directory: ./vllm-empty
run: |
VLLM_TARGET_DEVICE=empty pip install -e .
VLLM_TARGET_DEVICE=empty uv pip install -e .
- name: Install vllm-project/vllm-ascend
env:
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
run: |
pip install -r requirements-dev.txt
pip install -v -e .
pip install uc-manager
uv pip install -r requirements-dev.txt
uv pip install -v -e .
- name: Run vllm-project/vllm-ascend test
env: