Skip to content

Commit d00319e

Browse files
[Test] Refactor accuracy test to nightly test
Signed-off-by: hfadzxy <starmoon_zhang@163.com>
1 parent f846bd2 commit d00319e

File tree

4 files changed

+86
-101
lines changed

4 files changed

+86
-101
lines changed

.github/workflows/_accuracy_test.yaml renamed to .github/workflows/_e2e_nightly_single_node_accuracy.yaml

Lines changed: 54 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
1-
name: 'accuracy test'
1+
#
2+
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
# This file is a part of the vllm-ascend project.
16+
#
17+
18+
name: 'e2e nightly accuracy test'
219

320
on:
421
workflow_call:
@@ -24,38 +41,44 @@ on:
2441
type: boolean
2542
default: false
2643

27-
jobs:
28-
accuracy_tests:
44+
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
45+
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
46+
# It's used to activate ascend-toolkit environment variables.
47+
defaults:
48+
run:
49+
shell: bash -el {0}
2950

30-
runs-on: ${{ inputs.runner }}
51+
# only cancel in-progress runs of the same workflow
52+
# and ignore the lint / 1 card / 2 cards / 4 cards test type
53+
concurrency:
54+
group: ${{ github.workflow }}-${{ github.ref }}
55+
cancel-in-progress: true
56+
57+
jobs:
58+
e2e-nightly:
3159
name: ${{ inputs.model_name }} accuracy
60+
runs-on: ${{ inputs.runner }}
3261
container:
33-
image: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.2.rc1-910b-ubuntu22.04-py3.11
62+
image: ${{ inputs.image }}
3463
env:
3564
VLLM_USE_MODELSCOPE: True
36-
# 1. If version specified (work_dispatch), do specified branch accuracy test
37-
# 2. If no version (labeled PR), do accuracy test by default ref:
38-
# The branch, tag or SHA to checkout. When checking out the repository that
39-
# triggered a workflow, this defaults to the reference or SHA for that event.
40-
# Otherwise, uses the default branch.
4165
GHA_VLLM_ASCEND_VERSION: ${{ inputs.vllm-ascend }}
42-
4366
steps:
44-
- name: Checkout repository
45-
uses: actions/checkout@v4
46-
47-
- name: Set model name as output
48-
id: set_output
67+
- name: Check npu and CANN info
4968
run: |
50-
echo "model_name=${{ inputs.model_name }}" >> $GITHUB_OUTPUT
69+
npu-smi info
70+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
5171
5272
- name: Config mirrors
5373
run: |
54-
sed -Ei 's@(ports|archive).ubuntu.com@cache-service.nginx-pypi-cache.svc.cluster.local:8081@g' /etc/apt/sources.list
55-
pip config set global.index-url http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple
56-
pip config set global.trusted-host cache-service.nginx-pypi-cache.svc.cluster.local
74+
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
75+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
5776
apt-get update -y
5877
apt install git -y
78+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
79+
80+
- name: Checkout vllm-project/vllm-ascend repo
81+
uses: actions/checkout@v4
5982

6083
- name: Install system dependencies
6184
run: |
@@ -73,7 +96,14 @@ jobs:
7396
working-directory: ./vllm-empty
7497
run: |
7598
VLLM_TARGET_DEVICE=empty pip install -e .
76-
99+
100+
- name: Install vllm-project/vllm-ascend
101+
env:
102+
PIP_EXTRA_INDEX_URL: https://mirrors.huaweicloud.com/ascend/repos/pypi
103+
run: |
104+
pip install -r requirements-dev.txt
105+
pip install -v -e .
106+
77107
- name: Install Ascend toolkit & triton_ascend (for Qwen3-Next-80B-A3B-Instruct)
78108
if: ${{ inputs.model_name == 'Qwen3-Next-80B-A3B-Instruct' }}
79109
shell: bash -l {0}
@@ -149,11 +179,12 @@ jobs:
149179
pip show vllm | grep "Version:" | awk '{print "GHA_VLLM_VERSION="$2}' | sed 's/+.*//'
150180
} >> "$GITHUB_ENV"
151181
152-
- name: Run accuracy test
182+
- name: Run vllm-project/vllm-ascend accuracy test
153183
id: report
154184
env:
155185
VLLM_WORKER_MULTIPROC_METHOD: spawn
156186
VLLM_USE_MODELSCOPE: True
187+
VLLM_CI_RUNNER: ${{ inputs.runner }}
157188
VLLM_VERSION: ${{ env.GHA_VLLM_VERSION }}
158189
VLLM_COMMIT: ${{ env.VLLM_COMMIT }}
159190
VLLM_ASCEND_VERSION: ${{ env.GHA_VLLM_ASCEND_VERSION || github.ref }}
@@ -182,4 +213,4 @@ jobs:
182213
path: ./benchmarks/accuracy/${{ steps.report.outputs.markdown_name }}.md
183214
if-no-files-found: warn
184215
retention-days: 90
185-
overwrite: true
216+
overwrite: true

.github/workflows/accuracy_test.yaml

Lines changed: 0 additions & 74 deletions
This file was deleted.

.github/workflows/vllm_ascend_test_models.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@
2323
name: ascend test / models
2424

2525
on:
26-
schedule:
27-
# Runs every 6 hours
28-
- cron: '0 */6 * * *'
2926
pull_request:
3027
branches:
3128
- 'main'
@@ -75,7 +72,7 @@ jobs:
7572
- model_name: DeepSeek-V2-Lite
7673
runner: a2-2
7774
fail-fast: false
78-
uses: ./.github/workflows/_accuracy_test.yaml
75+
uses: ./.github/workflows/_e2e_nightly_single_node_accuracy.yaml
7976
with:
8077
vllm: v0.11.0
8178
runner: linux-aarch64-${{ matrix.runner }}

.github/workflows/vllm_ascend_test_nightly_a2.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ on:
2727
pull_request:
2828
branches:
2929
- 'main'
30+
push:
31+
branches:
32+
- 'main'
33+
- '*-dev'
3034

3135
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
3236
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
@@ -83,3 +87,30 @@ jobs:
8387
config_file_path: ${{ matrix.test_config.config_file_path }}
8488
secrets:
8589
KUBECONFIG_B64: ${{ secrets.KUBECONFIG_A2_B64 }}
90+
91+
single-node-accuracy-tests:
92+
strategy:
93+
fail-fast: false
94+
matrix:
95+
test_config:
96+
- name: Qwen3-8B
97+
os: linux-aarch64-a2-1
98+
- name: Qwen2.5-VL-7B-Instruct
99+
os: linux-aarch64-a2-1
100+
- name: Qwen2-Audio-7B-Instruct
101+
os: linux-aarch64-a2-1
102+
- name: Qwen3-30B-A3B
103+
os: linux-aarch64-a2-2
104+
- name: Qwen3-VL-30B-A3B-Instruct
105+
os: linux-aarch64-a2-2
106+
- name: DeepSeek-V2-Lite
107+
os: linux-aarch64-a2-2
108+
- name: Qwen3-Next-80B-A3B-Instruct
109+
os: linux-aarch64-a2-4
110+
uses: ./.github/workflows/_e2e_nightly_single_node_accuracy.yaml
111+
with:
112+
vllm: v0.11.0
113+
runner: ${{ matrix.test_config.os }}
114+
model_name: ${{ matrix.test_config.name }}
115+
image: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.2.rc1-910b-ubuntu22.04-py3.11
116+
upload: false

0 commit comments

Comments
 (0)