[CI] Improve CI (#5078)

Raname workflow to be clear.

- vLLM version: v0.12.0
- vLLM main:
ad32e3e19c

Signed-off-by: wangxiyuan <wangxiyuan1007@gmail.com>
This commit is contained in:
wangxiyuan
2025-12-19 15:34:35 +08:00
committed by GitHub
parent 35ad11b637
commit 636265be6d
14 changed files with 43 additions and 46 deletions

View File

@@ -26,7 +26,7 @@ on:
jobs: jobs:
build-push-digest: build-push-digest:
name: Image Build and Push name: build
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
strategy: strategy:
matrix: matrix:

View File

@@ -1,4 +1,4 @@
name: Lint name: Merge Conflict Labeler
on: on:
# So that PRs touching the same files as the push are updated # So that PRs touching the same files as the push are updated
push: push:
@@ -10,7 +10,6 @@ on:
jobs: jobs:
main: main:
name: Merge Conflict Labeler
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: check if prs are dirty - name: check if prs are dirty

View File

@@ -15,7 +15,7 @@
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: Lint name: PR Create
on: on:
# The PR updated when PR opened and push new commits # The PR updated when PR opened and push new commits

View File

@@ -15,7 +15,7 @@
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: 'ascend test / doctest' name: Doc Test
on: on:
workflow_dispatch: workflow_dispatch:
@@ -25,7 +25,7 @@ on:
- '*-dev' - '*-dev'
paths: paths:
# If we are changing the doctest we should do a PR test # If we are changing the doctest we should do a PR test
- '.github/workflows/vllm_ascend_doctest.yaml' - '.github/workflows/labled_doctest.yaml'
- 'tests/e2e/doctests/**' - 'tests/e2e/doctests/**'
- 'tests/e2e/common.sh' - 'tests/e2e/common.sh'
- 'tests/e2e/run_doctests.sh' - 'tests/e2e/run_doctests.sh'

View File

@@ -15,15 +15,12 @@
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: 'e2e test / 310p-test' name: 310p Labeled Test
on: on:
push: push:
tags: tags:
- 'v*' - 'v*'
schedule:
# Runs every 6 hours
- cron: '0 */6 * * *'
pull_request: pull_request:
types: [ labeled ] types: [ labeled ]

View File

@@ -17,7 +17,7 @@
# This workflow related to the resources atlas 800 A2 # This workflow related to the resources atlas 800 A2
# We will not limit the concurrency of jobs on A2 # We will not limit the concurrency of jobs on A2
name: 'ascend test / nightly-a2' name: Nightly-A2
on: on:
schedule: schedule:
@@ -27,7 +27,7 @@ on:
pull_request: pull_request:
branches: branches:
- 'main' - 'main'
types: [ labeled, synchronize ] types: [ labeled ]
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly # Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
# declared as "shell: bash -el {0}" on steps that need to be properly activated. # declared as "shell: bash -el {0}" on steps that need to be properly activated.
@@ -66,6 +66,29 @@ jobs:
name: ${{ matrix.test_config.name }} name: ${{ matrix.test_config.name }}
image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a2' image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a2'
multi-node-tests:
name: multi-node
if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
needs: single-node-tests
strategy:
fail-fast: false
max-parallel: 1
matrix:
test_config:
- name: multi-node-deepseek-dp
config_file_path: DeepSeek-R1-W8A8-A2.yaml
size: 2
uses: ./.github/workflows/_e2e_nightly_multi_node.yaml
with:
soc_version: a2
runner: linux-aarch64-a2-0
image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a2'
replicas: 1
size: ${{ matrix.test_config.size }}
config_file_path: ${{ matrix.test_config.config_file_path }}
secrets:
KUBECONFIG_B64: ${{ secrets.KUBECONFIG_A2_B64 }}
single-node-accuracy-tests: single-node-accuracy-tests:
if: >- if: >-
${{ ${{
@@ -110,27 +133,3 @@ jobs:
model_list: ${{ toJson(matrix.test_config.model_list) }} model_list: ${{ toJson(matrix.test_config.model_list) }}
image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.3.rc2-910b-ubuntu22.04-py3.11' image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.3.rc2-910b-ubuntu22.04-py3.11'
upload: false upload: false
multi-node-tests:
name: multi-node
if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
needs: single-node-tests
strategy:
fail-fast: false
max-parallel: 1
matrix:
test_config:
- name: multi-node-deepseek-dp
config_file_path: DeepSeek-R1-W8A8-A2.yaml
size: 2
uses: ./.github/workflows/_e2e_nightly_multi_node.yaml
with:
soc_version: a2
runner: linux-aarch64-a2-0
image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a2'
replicas: 1
size: ${{ matrix.test_config.size }}
config_file_path: ${{ matrix.test_config.config_file_path }}
secrets:
KUBECONFIG_B64: ${{ secrets.KUBECONFIG_A2_B64 }}

View File

@@ -18,7 +18,7 @@
# This workflow related to the resources atlas 800 A3 # This workflow related to the resources atlas 800 A3
# **Please note**: current A3 resource pool's maximum allowed concurrency is 5*16 NPUs # **Please note**: current A3 resource pool's maximum allowed concurrency is 5*16 NPUs
# We will limit the concurrency of jobs on A3 to avoid the risk of insufficient resources # We will limit the concurrency of jobs on A3 to avoid the risk of insufficient resources
name: 'ascend test / nightly-a3' name: Nightly-A3
on: on:
schedule: schedule:
@@ -28,6 +28,7 @@ on:
pull_request: pull_request:
branches: branches:
- 'main' - 'main'
types: [ labeled ]
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly # Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
# declared as "shell: bash -el {0}" on steps that need to be properly activated. # declared as "shell: bash -el {0}" on steps that need to be properly activated.
@@ -140,6 +141,7 @@ jobs:
image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a3' image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a3'
tests: ${{ matrix.test_config.tests }} tests: ${{ matrix.test_config.tests }}
name: ${{ matrix.test_config.name }} name: ${{ matrix.test_config.name }}
custom-ops-tests: custom-ops-tests:
name: test ops name: test ops
if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')

View File

@@ -9,7 +9,7 @@
# 3. tags push trigger image publish # 3. tags push trigger image publish
# - is for final release image # - is for final release image
# - Publish when tag with v* (pep440 version) ===> vllm-ascend:v1.2.3 / vllm-ascend:v1.2.3rc1 # - Publish when tag with v* (pep440 version) ===> vllm-ascend:v1.2.3 / vllm-ascend:v1.2.3rc1
name: Image name: Image Build and Push
on: on:
pull_request: pull_request:
branches: branches:
@@ -55,7 +55,7 @@ concurrency:
jobs: jobs:
image_build: image_build:
if: ${{ github.event_name == 'push' || (contains(github.event.pull_request.labels.*.name, 'ready') && contains(github.event.pull_request.labels.*.name, 'ready-for-test')) }} if: ${{ github.event_name == 'push' || (contains(github.event.pull_request.labels.*.name, 'ready') && contains(github.event.pull_request.labels.*.name, 'ready-for-test')) }}
name: image build and push name: Image Build and Push
strategy: strategy:
matrix: matrix:
build_meta: build_meta:

View File

@@ -15,7 +15,7 @@
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: Build name: Release Code and Wheel
on: on:
pull_request: pull_request:
@@ -23,7 +23,7 @@ on:
- 'main' - 'main'
- '*-dev' - '*-dev'
paths: paths:
- '.github/workflows/release_code.yml' - '.github/workflows/pr_tag_release_code_and_wheel.yaml'
- 'vllm_ascend/**' - 'vllm_ascend/**'
- 'setup.py' - 'setup.py'
- 'pyproject.toml' - 'pyproject.toml'

View File

@@ -14,7 +14,7 @@
# limitations under the License. # limitations under the License.
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: 'ascend test / full' name: E2E-Full
on: on:
pull_request: pull_request:

View File

@@ -15,7 +15,7 @@
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: 'ascend test' name: E2E-Light
on: on:
push: push:

View File

@@ -1,4 +1,4 @@
name: 'image / nightly / Ubuntu / test' name: Nightly Image Build Schedule
on: on:
schedule: schedule:

View File

@@ -15,7 +15,7 @@
# limitations under the License. # limitations under the License.
# #
name: Performance Test name: Performance Schedule Test
# This workflow runs nightly benchmarks for vllm-ascend. # This workflow runs nightly benchmarks for vllm-ascend.
on: on:

View File

@@ -14,7 +14,7 @@
# limitations under the License. # limitations under the License.
# This file is a part of the vllm-ascend project. # This file is a part of the vllm-ascend project.
# #
name: 'ascend test / vllm main' name: vLLM Main Schedule Test
on: on:
# Run full e2e tests per 4h # Run full e2e tests per 4h