Skip to content

Commit 05c5b14

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

File tree

2 files changed

+110
-0
lines changed

2 files changed

+110
-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
+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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+
branches:
25+
- 'main'
26+
- '*-dev'
27+
paths:
28+
- '*.txt'
29+
- '**/*.py'
30+
- '.github/workflows/vllm_ascend_test_pd.yaml'
31+
- '!docs/**'
32+
- 'pytest.ini'
33+
34+
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
35+
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
36+
# It's used to activate ascend-toolkit environment variables.
37+
defaults:
38+
run:
39+
shell: bash -el {0}
40+
41+
jobs:
42+
test:
43+
strategy:
44+
matrix:
45+
vllm_verison: [v0.8.5.post1]
46+
name: vLLM Ascend test
47+
runs-on: linux-arm64-npu-static-8
48+
49+
container:
50+
image: m.daocloud.io/quay.io/ascend/cann:8.1.rc1-910b-ubuntu22.04-py3.10
51+
volumes:
52+
- /usr/local/dcmi:/usr/local/dcmi
53+
- /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
54+
- /usr/local/Ascend/driver/:/usr/local/Ascend/driver/
55+
# Use self-host cache speed up pip and model download
56+
- /home/action/.cache:/github/home/.cache/
57+
options: >-
58+
--device /dev/davinci0
59+
--device /dev/davinci1
60+
--device /dev/davinci2
61+
--device /dev/davinci3
62+
--device /dev/davinci4
63+
--device /dev/davinci5
64+
--device /dev/davinci6
65+
--device /dev/davinci7
66+
--device /dev/davinci_manager
67+
--device /dev/devmm_svm
68+
--device /dev/hisi_hdc
69+
env:
70+
HF_ENDPOINT: https://hf-mirror.com
71+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
72+
steps:
73+
- name: Check npu and CANN info
74+
run: |
75+
npu-smi info
76+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
77+
78+
- name: Config mirrors
79+
run: |
80+
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
81+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
82+
apt-get update -y
83+
apt install git -y
84+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
85+
86+
- name: Checkout vllm-project/vllm-ascend repo
87+
uses: actions/checkout@v4
88+
89+
- name: Install system dependencies
90+
run: |
91+
apt-get -y install `cat packages.txt`
92+
apt-get -y install gcc g++ cmake libnuma-dev
93+
94+
- name: Checkout vllm-project/vllm repo
95+
uses: actions/checkout@v4
96+
with:
97+
repository: vllm-project/vllm
98+
ref: ${{ matrix.vllm_verison }}
99+
path: ./vllm-empty
100+
101+
- name: Install vllm-project/vllm from source
102+
working-directory: ./vllm-empty
103+
run: |
104+
VLLM_TARGET_DEVICE=empty pip install -e .
105+
106+
- name: Install vllm-project/vllm-ascend
107+
run: |
108+
pip install -r requirements-dev.txt
109+
pip install -v -e .

0 commit comments

Comments
 (0)