斜杠命令¶
vLLM Ascend 支持在拉取请求评论中使用斜杠命令来触发 CI 工作流。有关谁可以触发每个命令,请参阅权限部分。
可用命令¶
/e2e¶
运行 tests/e2e/pull_request/ 下的特定 E2E 测试。测试会根据路径自动路由到相应的 NPU 运行器。
示例:
# 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
路由规则(按顺序匹配):
| 测试路径包含 | 运行器 |
|---|---|
four_card/_310p |
310P 四卡 |
_310p(位于 one_card/two_card 下) |
310P 单卡 |
four_card |
A3 四卡 |
two_card |
A3 双卡 |
其他(例如 one_card) |
A2 单卡 |
仅支持
tests/e2e/pull_request/下的测试路径。tests/e2e/nightly/不接受tests/e2e/models/、tests/e2e/doctests/或/e2e中的测试。对于 nightly 测试,请使用/nightly。
测试会针对社区 vLLM 版本和最新发布版本运行。
/nightly¶
在 A2 和 A3 上触发特定的 nightly 测试用例。仅支持 PR 评论。测试用例名称对应于 test_config.name 和 schedule_nightly_test_a2.yaml 中定义的 schedule_nightly_test_a3.yaml 条目。
用法:
| 语法 | 作用域 |
|---|---|
/nightly <test_cases> |
在 main 分支上运行 |
/nightly <test_cases> --branch <branch> |
在指定分支上运行 |
/nightly <test_cases> --aop_enabled |
失败时启用 AOP 钩子(二分/分类) |
使用 --branch <name> 指定目标分支。如果不使用 --branch,所有参数都被视为测试用例(以逗号或空格分隔),分支默认为 main。
使用 --aop_enabled 启用 AOP(面向切面编程)流水线,该流水线会自动捕获测试结果、
对失败进行分类(环境问题 vs 代码问题),并对真正的失败触发二分查找。
默认情况下,AOP 钩子是禁用的。
注意:在对 PR 进行评论时,测试会在触发的工作流中自动在 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.23.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.23.0 --aop_enabled
这会在 workflow_dispatch 和 schedule_nightly_test_a2.yaml 上触发 schedule_nightly_test_a3.yaml。
/cherry-pick¶
将一个 PR 的提交 cherry-pick 到指定的目标分支并创建一个新的 PR。这对于将修复反向移植到发布分支非常有用。
用法:
| 语法 | 描述 |
|---|---|
/cherry-pick <target_branch> |
将提交拣选到指定分支 |
示例:
# Cherry-pick to a release branch
/cherry-pick releases/v0.23.0
# Cherry-pick to main
/cherry-pick main
将创建一个新 PR,标题格式为 [Cherry-pick] <original_title> (from #<PR_NUMBER>),正文包含指向原始 PR 的链接。
如果 cherry-pick 遇到合并冲突,该命令将报告失败,并且必须手动执行 cherry-pick。
/revert¶
通过创建一个新 PR 来撤销已合并 PR 的更改。回退的目标是原始 PR 合并到的同一个基础分支。
用法:
| 语法 | 描述 |
|---|---|
/revert |
回退此 PR(无需参数) |
示例:
将创建一个新 PR,标题格式为 [Revert] Revert "original_title" (#PR_NUMBER),正文包含指向原始 PR 及其合并提交的链接。
只有已合并的 PR 才能被回退。如果回退遇到合并冲突(例如,因为基础分支已经严重偏离),该命令将报告失败,并且必须手动执行回退。
/rerun¶
重新运行当前 PR 提交上所有失败的工作流运行。当 CI 作业因基础设施问题而失败时非常有用。
示例:
行为¶
- 当你评论一个斜杠命令时,你的评论会添加一个 👀 反应,表示已收到
- 相应的 CI 工作流会被异步触发
- 完成后,会添加一个 🎉 反应和一条摘要评论
范围¶
| 命令 | PR评论 | Issue评论 |
|---|---|---|
/e2e |
✅ | ❌ |
/rerun |
✅ | ❌ |
/cherry-pick |
✅ | ❌ |
/revert |
✅ | ❌ |
/nightly |
✅ | ❌ |
权限¶
| 命令 | 触发者 |
|---|---|
/e2e |
PR 作者,或具有仓库 triage+ 权限的用户 |
/rerun |
PR 作者,或具有仓库 triage+ 权限的用户 |
/cherry-pick |
PR 作者,或具有仓库 triage+ 权限的用户 |
/revert |
PR 作者,或具有仓库 triage+ 权限的用户 |
/nightly |
仅限具有仓库 triage+ 权限的用户 |
权限通过 GitHub API (repos/{owner}/{repo}/collaborators/{user}/permission) 进行验证。