Skip to content

Commit f1f5eb9

Browse files
committed
Add basic ci for PD disaggregation
Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
1 parent 6193ba6 commit f1f5eb9

File tree

2 files changed

+103
-0
lines changed

2 files changed

+103
-0
lines changed

.github/actionlint.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ self-hosted-runner:
44
- linux-arm64-npu-1
55
- linux-arm64-npu-2
66
- linux-arm64-npu-4
7+
- linux-arm64-npu-static-8
+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#
2+
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
3+
# This file is a part of the vllm-ascend project.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
name: 'e2e test / pd-disaggregation'
18+
19+
on:
20+
schedule:
21+
# Runs at 23:00 UTC (7:00 AM Beijing) every day
22+
- cron: '0 23 * * *'
23+
pull_request:
24+
types: [ labeled ]
25+
26+
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
27+
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
28+
# It's used to activate ascend-toolkit environment variables.
29+
defaults:
30+
run:
31+
shell: bash -el {0}
32+
33+
jobs:
34+
test:
35+
if: ${{ github.event.label.name == 'module:pd' }}
36+
strategy:
37+
matrix:
38+
vllm_verison: [v0.8.5.post1]
39+
name: vLLM Ascend test
40+
runs-on: linux-arm64-npu-static-8
41+
42+
container:
43+
image: m.daocloud.io/quay.io/ascend/cann:8.1.rc1-910b-ubuntu22.04-py3.10
44+
volumes:
45+
- /usr/local/dcmi:/usr/local/dcmi
46+
- /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
47+
- /usr/local/Ascend/driver/:/usr/local/Ascend/driver/
48+
# Use self-host cache speed up pip and model download
49+
- /home/action/.cache:/github/home/.cache/
50+
options: >-
51+
--device /dev/davinci0
52+
--device /dev/davinci1
53+
--device /dev/davinci2
54+
--device /dev/davinci3
55+
--device /dev/davinci4
56+
--device /dev/davinci5
57+
--device /dev/davinci6
58+
--device /dev/davinci7
59+
--device /dev/davinci_manager
60+
--device /dev/devmm_svm
61+
--device /dev/hisi_hdc
62+
env:
63+
HF_ENDPOINT: https://hf-mirror.com
64+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
65+
steps:
66+
- name: Check npu and CANN info
67+
run: |
68+
npu-smi info
69+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
70+
71+
- name: Config mirrors
72+
run: |
73+
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
74+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
75+
apt-get update -y
76+
apt install git -y
77+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
78+
79+
- name: Checkout vllm-project/vllm-ascend repo
80+
uses: actions/checkout@v4
81+
82+
- name: Install system dependencies
83+
run: |
84+
apt-get -y install `cat packages.txt`
85+
apt-get -y install gcc g++ cmake libnuma-dev
86+
87+
- name: Checkout vllm-project/vllm repo
88+
uses: actions/checkout@v4
89+
with:
90+
repository: vllm-project/vllm
91+
ref: ${{ matrix.vllm_verison }}
92+
path: ./vllm-empty
93+
94+
- name: Install vllm-project/vllm from source
95+
working-directory: ./vllm-empty
96+
run: |
97+
VLLM_TARGET_DEVICE=empty pip install -e .
98+
99+
- name: Install vllm-project/vllm-ascend
100+
run: |
101+
pip install -r requirements-dev.txt
102+
pip install -v -e .

0 commit comments

Comments
 (0)