# PR #26110 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[CI] pr-test-extra: add run_all_tests to workflow_dispatch inputs
- 合并时间：2026-05-22 18:03
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/26110

---

## 执行摘要
本 PR 为 `pr-test-extra.yml` 的 `workflow_dispatch` 手动触发接口添加了 `run_all_tests` 布尔输入，用于跳过路径过滤直接运行所有测试。5 行 YAML 变更解决了 release 分支因浅克隆无法找到合并基而导致的 git fetch 失败问题。

## 功能与动机
手动触发 `pr-test-extra.yml` 测试 release 分支时，`_pr-test-check-changes.yml` 中的 `dorny/paths-filter` 步骤在浅克隆下无法找到合并基，会调用 `git fetch --deepen=200` 扩展历史，但该操作与并发索引更新冲突，报错 `fatal: shallow file has changed since we read it`。PR body 中引用了三次失败运行记录作为证据。而 `pr-test.yml` 的 `workflow_dispatch` 已有 `run_all_tests` 输入，本 PR 将对称功能补齐到 `pr-test-extra.yml`。

## 实现拆解

1. **新增输入定义**：在 `.github/workflows/pr-test-extra.yml` 的 `workflow_dispatch` 块下添加 `run_all_tests` 输入，类型为 `boolean`，默认值 `false`，附带描述说明其作用。
2. **依赖已有下游逻辑**：`_pr-test-check-changes.yml` 第 77 行已具备 `if: steps.run-mode.outputs.run_all_tests != 'true'` 逻辑，当输入为 `true` 时跳过路径过滤步骤。无需修改其他文件。
3. **零逻辑变更**：仅 5 行新增配置，不改变现有行为。

### 无相关源码片段。

## 评论区精华
无 review 评论或讨论。PR 由作者自行合并，说明变更清晰且无争议。

## 风险与影响
**风险**：极低。默认值为 `false`，不影响现有手动或自动触发流程。下游逻辑已就绪，无回归风险。
**影响**：范围局限在 `pr-test-extra.yml` 手动触发场景。允许运维人员在测试 release 分支时勾选 `run_all_tests` 跳过路径过滤，直接运行全部 extra 测试，提高调测效率。

## 关联脉络
本 PR 是对历史 PR #26068 等工作流的补充，使 `pr-test-extra.yml` 与 `pr-test.yml` 在手动触发能力上保持一致。作者计划合入后 cherry-pick 到 `release/v0.5.12` 分支，解决 release 分支测试的阻塞问题。