跳转至

斜杠命令

vLLM Ascend 支持在 Pull Request 评论中使用斜杠命令来触发 CI 工作流。有关谁可以触发每个命令,请参阅 权限 部分。

可用命令

/e2e

在 tests/e2e/pull_request/ 下运行特定的 E2E 测试。测试会根据测试路径自动路由到相应的 NPU runner。

示例:

# Run a single test on the default runner (a2 single card)
/e2e tests/e2e/pull_request/one_card/test_attention.py

# Run multiple tests across different runners
/e2e tests/e2e/pull_request/one_card/test_attention.py tests/e2e/pull_request/two_card/test_parallel.py

# Run tests on 310P
/e2e tests/e2e/pull_request/one_card/_310p/test_310p_ops.py

路由规则(按顺序匹配):

测试路径包含 Runner
four_card/_310p 310P 4 卡
_310p(位于 one_card/two_card 下) 310P 单卡
four_card A3 4 卡
two_card A3 2 卡
其他(例如 one_card) A2 单卡

仅支持 tests/e2e/pull_request/ 下的测试路径。tests/e2e/nightly/、tests/e2e/models/ 或 tests/e2e/doctests/ 中的测试不会被 /e2e 接受。请使用 /nightly 运行 nightly 测试。

对于 doctest,请在 GitHub Actions 中手动运行 Doc Test 工作流,或者让相关 PR 变更自动触发它。支持的用例和本地命令,请参阅 运行 doctest。

测试会针对社区 vLLM 版本和最新 release 运行。

/nightly

在 A2 和 A3 上触发特定的 nightly 测试用例。仅支持 PR 评论。测试用例名称对应 schedule_nightly_test_a2.yaml 和 schedule_nightly_test_a3.yaml 中定义的 test_config.name 条目。

用法:

语法 范围
/nightly <test_cases> 在 main 分支上运行
/nightly <test_cases> --branch <branch> 在指定分支上运行
/nightly <test_cases> --aop_enabled 失败时启用 AOP 钩子(bisect / classify)

使用 --branch <name> 指定目标分支。如果不使用 --branch,所有参数都会被视为测试用例(以逗号或空格分隔),分支默认为 main。

使用 --aop_enabled 启用 AOP(面向切面编程)流水线,该流水线会自动捕获测试结果、对失败进行分类(环境 vs. 代码),并为真实失败触发二分查找。默认情况下,AOP 钩子处于禁用状态。

注意:在 PR 上评论时,触发的 workflow 会自动在 PR 分支上运行测试;--branch 标志主要用于 issue 评论。

常见测试用例名称(A2):

test_custom_op, test_custom_op_multi_card, qwen3-vl-32b-instruct-w8a8, qwen3-32b-int8, MiniMax-M2.5-w8a8-QuaRot-A2, Qwen3.5-27B-w8a8-A2, Qwen3.5-397B-A17B-w4a8-mtp, accuracy-group

常见测试用例名称(A3):

multi-node-deepseek-v3.2-W8A8-EP, mtpx-deepseek-r1-0528-w8a8, deepseek-r1-0528-w8a8, kimi-k2-thinking, qwen3-vl-235b-a22b-instruct-w8a8, custom-multi-ops, ...

示例:

# Run a single test case on main branch
/nightly qwen3-vl-32b-instruct-w8a8

# Run on a specific release branch
/nightly qwen3-vl-32b-instruct-w8a8 --branch releases/v0.24.0

# Run all tests on a specific branch
/nightly all --branch my-feature-branch

# Run multiple test cases (comma-separated)
/nightly test_custom_op,multi-node-deepseek-v3.2-W8A8-EP

# Run multiple test cases (space-separated, also works)
/nightly test_custom_op accuracy-group

# Run accuracy group tests (branch defaults to main)
/nightly accuracy-group

# Enable AOP bisect for all tests
/nightly all --aop_enabled

# Run specific test with AOP on a release branch
/nightly test_custom_op --branch releases/v0.24.0 --aop_enabled

这会在 schedule_nightly_test_a2.yaml 和 schedule_nightly_test_a3.yaml 上触发 workflow_dispatch。

注意:这些 schedule_* workflow 未声明 GitHub Actions 的 schedule:(cron)触发器;它们通过 workflow_dispatch 从外部触发。请参阅 CI 工作流触发器和 schedule_ 前缀。

/cherry-pick

将某个 PR 的提交 cherry-pick 到指定目标分支,并创建一个新的 PR。这适用于将修复回移到 release 分支。

用法:

语法 描述
/cherry-pick <target_branch> Cherry-pick 到指定分支

示例:

# Cherry-pick to a release branch
/cherry-pick releases/v0.24.0

# Cherry-pick to main
/cherry-pick main

将创建一个新 PR,标题格式为 [Cherry-pick] <original_title> (from #<PR_NUMBER>),正文中会包含指向原 PR 的链接。

如果 cherry-pick 遇到合并冲突,该命令会报告失败,并且必须手动完成 cherry-pick。

/revert

通过创建一个反转其变更的新 PR 来 revert 已合并的 PR。revert 的目标是原 PR 合并到的同一基础分支。

用法:

语法 描述
/revert Revert 此 PR(无需参数)

示例:

/revert

将创建一个新 PR,标题格式为 [Revert] Revert "original_title" (#PR_NUMBER),正文中会包含指向原 PR 及其合并提交的链接。

只有已合并的 PR 才能被 revert。如果 revert 遇到合并冲突(例如,因为基础分支已显著分叉),该命令会报告失败,并且必须手动完成 revert。

/rerun

在当前 PR 提交上重新运行失败的 CI workflow。当 CI 作业因基础设施问题失败或被取消时,此命令很有用。

仅重新运行未成功完成的作业(failed、cancelled、timed out 或 startup-failed)。已经成功的作业保持不变。结论为 cancelled / timed_out / startup_failure 的运行会按剩余作业重新运行,而那些失败中也包含已取消作业的运行(例如被 fail-fast 取消的 vLLM matrix leg)也会以相同方式处理。通过可复用 workflow(例如 Selected Tests)执行的测试会通过其调用作业重新运行,且不会重复。

示例:

# Re-run failed / cancelled CI jobs on this PR
/rerun

/cancel

强制取消当前 PR 提交上的所有工作流运行。这会取消直接在 PR head 提交上触发的运行,例如自动 E2E CI 工作流(pr_test.yaml)。由斜杠命令(例如 /e2e、/rerun、/nightly)或下游 nightly/weekly 工作流触发的工作流不会受到影响,因为它们在 main 分支上运行。

范围:

已取消 未取消
pr_test.yaml(E2E)— 自动 PR CI /e2e 命令运行
schedule_doc_getting_started_test.yaml /rerun 命令运行
schedule_doc_linkcheck.yaml /nightly / /weekly 命令运行
schedule_image_build_and_push.yaml(如果已标记) 下游 nightly/weekly 测试工作流
labeled_download_model_dataset.yaml 计划任务 / workflow_dispatch / push 运行

示例:

# Force-cancel all CI runs on this PR
/cancel

注意:此操作使用 force-cancel API 端点,即使运行处于等待 runner 的 pending 或 queued 状态,也可以取消它们。

行为

  1. 当你评论一个斜杠命令时,你的评论上会添加一个 👀 表情回应,表示已收到
  2. 对应的 CI 工作流会被异步触发
  3. 完成后,会添加一个 🎉 表情回应和一条总结评论

范围

命令 PR 评论 Issue 评论
/e2e ✅ ❌
/rerun ✅ ❌
/cancel ✅ ❌
/cherry-pick ✅ ❌
/revert ✅ ❌
/nightly ✅ ❌

权限

命令 谁可以触发
/e2e PR 作者,或具有该仓库 triage+ 权限的用户
/rerun PR 作者,或具有该仓库 triage+ 权限的用户
/cancel PR 作者,或具有该仓库 triage+ 权限的用户
/cherry-pick PR 作者,或具有该仓库 triage+ 权限的用户
/revert PR 作者,或具有该仓库 triage+ 权限的用户
/nightly 仅限具有该仓库 triage+ 权限的用户

权限通过 GitHub API(repos/{owner}/{repo}/collaborators/{user}/permission)进行验证。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 vl/vllm-ascend