From 60ee4af6d0952baffe451fc9fa4f735b96d927df Mon Sep 17 00:00:00 2001 From: Li Wang Date: Mon, 27 Oct 2025 14:07:03 +0800 Subject: [PATCH] [CI] Add custom op to nightly (#3765) ### What this PR does / why we need it? 1. Add custom op to nightly tests, fix https://github.com/vllm-project/vllm-ascend/pull/3665 2. Correctly pass github secrets when using workflow_call, see https://docs.github.com/en/actions/how-tos/reuse-automations/reuse-workflows 3. Fix the single node mutual cancellation issue - vLLM version: v0.11.0rc3 - vLLM main: https://github.com/vllm-project/vllm/commit/c9461e05a4ed3557cfbf4b15ded1e26761cc39ca --------- Signed-off-by: wangli --- .github/workflows/_e2e_nightly_multi_node.yaml | 5 ++++- .github/workflows/_e2e_nightly_single_node.yaml | 2 +- .github/workflows/vllm_ascend_test_nightly_a2.yaml | 3 +++ .github/workflows/vllm_ascend_test_nightly_a3.yaml | 3 +++ tests/e2e/{singlecard => nightly}/ops/__init__.py | 0 tests/e2e/{singlecard => nightly}/ops/test_bgmv_expand.py | 0 tests/e2e/{singlecard => nightly}/ops/test_bgmv_shrink.py | 0 tests/e2e/{singlecard => nightly}/ops/test_fused_moe.py | 0 .../{singlecard => nightly}/ops/test_gating_top_k_softmax.py | 0 tests/e2e/{singlecard => nightly}/ops/test_mla_preprocess.py | 0 .../e2e/{singlecard => nightly}/ops/test_rotary_embedding.py | 0 .../ops/test_vocabparallelembedding.py | 0 12 files changed, 11 insertions(+), 2 deletions(-) rename tests/e2e/{singlecard => nightly}/ops/__init__.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_bgmv_expand.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_bgmv_shrink.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_fused_moe.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_gating_top_k_softmax.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_mla_preprocess.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_rotary_embedding.py (100%) rename tests/e2e/{singlecard => nightly}/ops/test_vocabparallelembedding.py (100%) diff --git a/.github/workflows/_e2e_nightly_multi_node.yaml b/.github/workflows/_e2e_nightly_multi_node.yaml index 680d7985..249526fa 100644 --- a/.github/workflows/_e2e_nightly_multi_node.yaml +++ b/.github/workflows/_e2e_nightly_multi_node.yaml @@ -41,6 +41,9 @@ on: default: main type: string description: used for pr level tests + secrets: + KUBECONFIG_B64: + required: true # Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly @@ -53,7 +56,7 @@ defaults: # only cancel in-progress runs of the same workflow # and ignore the lint / 8 cards test type concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ascend-nightly-${{ github.ref }}-${{ inputs.config_file_path }} cancel-in-progress: true jobs: diff --git a/.github/workflows/_e2e_nightly_single_node.yaml b/.github/workflows/_e2e_nightly_single_node.yaml index 90624e38..9aab8286 100644 --- a/.github/workflows/_e2e_nightly_single_node.yaml +++ b/.github/workflows/_e2e_nightly_single_node.yaml @@ -44,7 +44,7 @@ defaults: # only cancel in-progress runs of the same workflow # and ignore the lint / 1 card / 4 cards test type concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ascend-nightly-${{ github.ref }}-${{ inputs.tests }} cancel-in-progress: true jobs: diff --git a/.github/workflows/vllm_ascend_test_nightly_a2.yaml b/.github/workflows/vllm_ascend_test_nightly_a2.yaml index 809babed..4e9925e4 100644 --- a/.github/workflows/vllm_ascend_test_nightly_a2.yaml +++ b/.github/workflows/vllm_ascend_test_nightly_a2.yaml @@ -53,6 +53,9 @@ jobs: - name: qwen3-32b-in8-a2 os: linux-aarch64-a2-4 tests: tests/e2e/nightly/models/test_qwen3_32b_int8.py + - name: test_custom_op + os: linux-aarch64-a2-1 + tests: tests/e2e/nightly/ops uses: ./.github/workflows/_e2e_nightly_single_node.yaml with: vllm: v0.11.0 diff --git a/.github/workflows/vllm_ascend_test_nightly_a3.yaml b/.github/workflows/vllm_ascend_test_nightly_a3.yaml index a5d89946..5d8d195e 100644 --- a/.github/workflows/vllm_ascend_test_nightly_a3.yaml +++ b/.github/workflows/vllm_ascend_test_nightly_a3.yaml @@ -102,3 +102,6 @@ jobs: replicas: 1 size: ${{ matrix.test_config.size }} config_file_path: ${{ matrix.test_config.config_file_path }} + secrets: + KUBECONFIG_B64: ${{ secrets.KUBECONFIG_B64 }} + diff --git a/tests/e2e/singlecard/ops/__init__.py b/tests/e2e/nightly/ops/__init__.py similarity index 100% rename from tests/e2e/singlecard/ops/__init__.py rename to tests/e2e/nightly/ops/__init__.py diff --git a/tests/e2e/singlecard/ops/test_bgmv_expand.py b/tests/e2e/nightly/ops/test_bgmv_expand.py similarity index 100% rename from tests/e2e/singlecard/ops/test_bgmv_expand.py rename to tests/e2e/nightly/ops/test_bgmv_expand.py diff --git a/tests/e2e/singlecard/ops/test_bgmv_shrink.py b/tests/e2e/nightly/ops/test_bgmv_shrink.py similarity index 100% rename from tests/e2e/singlecard/ops/test_bgmv_shrink.py rename to tests/e2e/nightly/ops/test_bgmv_shrink.py diff --git a/tests/e2e/singlecard/ops/test_fused_moe.py b/tests/e2e/nightly/ops/test_fused_moe.py similarity index 100% rename from tests/e2e/singlecard/ops/test_fused_moe.py rename to tests/e2e/nightly/ops/test_fused_moe.py diff --git a/tests/e2e/singlecard/ops/test_gating_top_k_softmax.py b/tests/e2e/nightly/ops/test_gating_top_k_softmax.py similarity index 100% rename from tests/e2e/singlecard/ops/test_gating_top_k_softmax.py rename to tests/e2e/nightly/ops/test_gating_top_k_softmax.py diff --git a/tests/e2e/singlecard/ops/test_mla_preprocess.py b/tests/e2e/nightly/ops/test_mla_preprocess.py similarity index 100% rename from tests/e2e/singlecard/ops/test_mla_preprocess.py rename to tests/e2e/nightly/ops/test_mla_preprocess.py diff --git a/tests/e2e/singlecard/ops/test_rotary_embedding.py b/tests/e2e/nightly/ops/test_rotary_embedding.py similarity index 100% rename from tests/e2e/singlecard/ops/test_rotary_embedding.py rename to tests/e2e/nightly/ops/test_rotary_embedding.py diff --git a/tests/e2e/singlecard/ops/test_vocabparallelembedding.py b/tests/e2e/nightly/ops/test_vocabparallelembedding.py similarity index 100% rename from tests/e2e/singlecard/ops/test_vocabparallelembedding.py rename to tests/e2e/nightly/ops/test_vocabparallelembedding.py