From 636265be6dcb80a8d1c13f8b8a1865893f19cf7e Mon Sep 17 00:00:00 2001 From: wangxiyuan Date: Fri, 19 Dec 2025 15:34:35 +0800 Subject: [PATCH] [CI] Improve CI (#5078) Raname workflow to be clear. - vLLM version: v0.12.0 - vLLM main: https://github.com/vllm-project/vllm/commit/ad32e3e19ccf0526cb6744a5fed09a138a5fb2f9 Signed-off-by: wangxiyuan --- .github/workflows/_pr_image_build.yaml | 2 +- ...e_conflict.yml => bot_merge_conflict.yaml} | 3 +- .github/workflows/bot_pr_create.yaml | 2 +- .github/workflows/labled_doctest.yaml | 4 +- .github/workflows/labled_test_310.yaml | 5 +- .github/workflows/nightly_test_a2.yaml | 51 +++++++++---------- .github/workflows/nightly_test_a3.yaml | 4 +- .../pr_tag_image_build_and_push.yaml | 4 +- .../pr_tag_release_code_and_wheel.yml | 4 +- .github/workflows/pr_test_full.yaml | 2 +- .github/workflows/pr_test_light.yaml | 2 +- ...yaml => schedule_nightly_image_build.yaml} | 2 +- .../workflows/schedule_test_benchmarks.yaml | 2 +- .../workflows/schedule_test_vllm_main.yaml | 2 +- 14 files changed, 43 insertions(+), 46 deletions(-) rename .github/workflows/{bot_merge_conflict.yml => bot_merge_conflict.yaml} (94%) rename .github/workflows/{_nightly_image_build.yaml => schedule_nightly_image_build.yaml} (97%) diff --git a/.github/workflows/_pr_image_build.yaml b/.github/workflows/_pr_image_build.yaml index 46033ccf..3ac4003a 100644 --- a/.github/workflows/_pr_image_build.yaml +++ b/.github/workflows/_pr_image_build.yaml @@ -26,7 +26,7 @@ on: jobs: build-push-digest: - name: Image Build and Push + name: build runs-on: ${{ matrix.runner }} strategy: matrix: diff --git a/.github/workflows/bot_merge_conflict.yml b/.github/workflows/bot_merge_conflict.yaml similarity index 94% rename from .github/workflows/bot_merge_conflict.yml rename to .github/workflows/bot_merge_conflict.yaml index 0ac2234b..8515a123 100644 --- a/.github/workflows/bot_merge_conflict.yml +++ b/.github/workflows/bot_merge_conflict.yaml @@ -1,4 +1,4 @@ -name: Lint +name: Merge Conflict Labeler on: # So that PRs touching the same files as the push are updated push: @@ -10,7 +10,6 @@ on: jobs: main: - name: Merge Conflict Labeler runs-on: ubuntu-latest steps: - name: check if prs are dirty diff --git a/.github/workflows/bot_pr_create.yaml b/.github/workflows/bot_pr_create.yaml index 22ab2c41..048679c2 100644 --- a/.github/workflows/bot_pr_create.yaml +++ b/.github/workflows/bot_pr_create.yaml @@ -15,7 +15,7 @@ # This file is a part of the vllm-ascend project. # -name: Lint +name: PR Create on: # The PR updated when PR opened and push new commits diff --git a/.github/workflows/labled_doctest.yaml b/.github/workflows/labled_doctest.yaml index 193bbd60..0fc70c9d 100644 --- a/.github/workflows/labled_doctest.yaml +++ b/.github/workflows/labled_doctest.yaml @@ -15,7 +15,7 @@ # This file is a part of the vllm-ascend project. # -name: 'ascend test / doctest' +name: Doc Test on: workflow_dispatch: @@ -25,7 +25,7 @@ on: - '*-dev' paths: # 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/common.sh' - 'tests/e2e/run_doctests.sh' diff --git a/.github/workflows/labled_test_310.yaml b/.github/workflows/labled_test_310.yaml index d2a0ff0e..25e78506 100644 --- a/.github/workflows/labled_test_310.yaml +++ b/.github/workflows/labled_test_310.yaml @@ -15,15 +15,12 @@ # This file is a part of the vllm-ascend project. # -name: 'e2e test / 310p-test' +name: 310p Labeled Test on: push: tags: - 'v*' - schedule: - # Runs every 6 hours - - cron: '0 */6 * * *' pull_request: types: [ labeled ] diff --git a/.github/workflows/nightly_test_a2.yaml b/.github/workflows/nightly_test_a2.yaml index d1113622..8fca3bad 100644 --- a/.github/workflows/nightly_test_a2.yaml +++ b/.github/workflows/nightly_test_a2.yaml @@ -17,7 +17,7 @@ # This workflow related to the resources atlas 800 A2 # We will not limit the concurrency of jobs on A2 -name: 'ascend test / nightly-a2' +name: Nightly-A2 on: schedule: @@ -27,7 +27,7 @@ on: pull_request: branches: - 'main' - types: [ labeled, synchronize ] + types: [ labeled ] # 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. @@ -66,6 +66,29 @@ jobs: name: ${{ matrix.test_config.name }} 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: if: >- ${{ @@ -110,27 +133,3 @@ jobs: 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' 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 }} diff --git a/.github/workflows/nightly_test_a3.yaml b/.github/workflows/nightly_test_a3.yaml index 0256927f..916a8b36 100644 --- a/.github/workflows/nightly_test_a3.yaml +++ b/.github/workflows/nightly_test_a3.yaml @@ -18,7 +18,7 @@ # This workflow related to the resources atlas 800 A3 # **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 -name: 'ascend test / nightly-a3' +name: Nightly-A3 on: schedule: @@ -28,6 +28,7 @@ on: pull_request: branches: - 'main' + types: [ labeled ] # 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. @@ -140,6 +141,7 @@ jobs: image: 'swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/vllm-ascend:nightly-a3' tests: ${{ matrix.test_config.tests }} name: ${{ matrix.test_config.name }} + custom-ops-tests: name: test ops if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') diff --git a/.github/workflows/pr_tag_image_build_and_push.yaml b/.github/workflows/pr_tag_image_build_and_push.yaml index be9765a7..4991ae04 100644 --- a/.github/workflows/pr_tag_image_build_and_push.yaml +++ b/.github/workflows/pr_tag_image_build_and_push.yaml @@ -9,7 +9,7 @@ # 3. tags push trigger image publish # - is for final release image # - 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: pull_request: branches: @@ -55,7 +55,7 @@ concurrency: jobs: 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')) }} - name: image build and push + name: Image Build and Push strategy: matrix: build_meta: diff --git a/.github/workflows/pr_tag_release_code_and_wheel.yml b/.github/workflows/pr_tag_release_code_and_wheel.yml index 41162e76..ed655bdc 100644 --- a/.github/workflows/pr_tag_release_code_and_wheel.yml +++ b/.github/workflows/pr_tag_release_code_and_wheel.yml @@ -15,7 +15,7 @@ # This file is a part of the vllm-ascend project. # -name: Build +name: Release Code and Wheel on: pull_request: @@ -23,7 +23,7 @@ on: - 'main' - '*-dev' paths: - - '.github/workflows/release_code.yml' + - '.github/workflows/pr_tag_release_code_and_wheel.yaml' - 'vllm_ascend/**' - 'setup.py' - 'pyproject.toml' diff --git a/.github/workflows/pr_test_full.yaml b/.github/workflows/pr_test_full.yaml index 379dcbb4..3430699a 100644 --- a/.github/workflows/pr_test_full.yaml +++ b/.github/workflows/pr_test_full.yaml @@ -14,7 +14,7 @@ # limitations under the License. # This file is a part of the vllm-ascend project. # -name: 'ascend test / full' +name: E2E-Full on: pull_request: diff --git a/.github/workflows/pr_test_light.yaml b/.github/workflows/pr_test_light.yaml index c1f93fb0..50214570 100644 --- a/.github/workflows/pr_test_light.yaml +++ b/.github/workflows/pr_test_light.yaml @@ -15,7 +15,7 @@ # This file is a part of the vllm-ascend project. # -name: 'ascend test' +name: E2E-Light on: push: diff --git a/.github/workflows/_nightly_image_build.yaml b/.github/workflows/schedule_nightly_image_build.yaml similarity index 97% rename from .github/workflows/_nightly_image_build.yaml rename to .github/workflows/schedule_nightly_image_build.yaml index baa18ae7..296c7c25 100644 --- a/.github/workflows/_nightly_image_build.yaml +++ b/.github/workflows/schedule_nightly_image_build.yaml @@ -1,4 +1,4 @@ -name: 'image / nightly / Ubuntu / test' +name: Nightly Image Build Schedule on: schedule: diff --git a/.github/workflows/schedule_test_benchmarks.yaml b/.github/workflows/schedule_test_benchmarks.yaml index 2ed0fe64..1ba071da 100644 --- a/.github/workflows/schedule_test_benchmarks.yaml +++ b/.github/workflows/schedule_test_benchmarks.yaml @@ -15,7 +15,7 @@ # limitations under the License. # -name: Performance Test +name: Performance Schedule Test # This workflow runs nightly benchmarks for vllm-ascend. on: diff --git a/.github/workflows/schedule_test_vllm_main.yaml b/.github/workflows/schedule_test_vllm_main.yaml index b5a39c87..93a63917 100644 --- a/.github/workflows/schedule_test_vllm_main.yaml +++ b/.github/workflows/schedule_test_vllm_main.yaml @@ -14,7 +14,7 @@ # limitations under the License. # This file is a part of the vllm-ascend project. # -name: 'ascend test / vllm main' +name: vLLM Main Schedule Test on: # Run full e2e tests per 4h