# PR #26990 完整报告

- 仓库：`sgl-project/sglang`
- 标题：ci: disable cross-job fast-fail for run_all_tests dispatch
- 合并时间：2026-06-02 09:32
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/26990

---

# PR 26990 分析报告

## 执行摘要
本 PR 修复了手动触发的全量 CI 运行仍然存在的跨任务快速失败问题。通过在 `_pr-test-stage.yml` 的 `SKIP_PR_TEST_HEALTH_CHECK` 环境变量计算中补充 `test_parallel_dispatch` 和 `run_all_tests` 条件，使得手动全量调度与定时调度行为一致，都能收集所有失败而非快速失败。变更仅一行增删，风险极低。

## 功能与动机
作为 #26986 的后续，PR body 明确指出：手动触发的 `run_all_tests` 或 `test_parallel_dispatch` CI 调度中，跨任务快速失败检查（Layer 3）只会在 `schedule` 触发或设置 `SKIP_PR_TEST_HEALTH_CHECK=true` 时跳过。但 stage workflow 重新推导该环境变量时仅使用了 `skip_pr_test_health_check`，忽略了 `run_all_tests` / `test_parallel_dispatch` 标志，导致手动全量运行仍然快速失败，无法收集所有失败的测试。

## 实现拆解
1. **修改环境变量计算逻辑**：在 `.github/workflows/_pr-test-stage.yml` 中，将 `SKIP_PR_TEST_HEALTH_CHECK` 的环境变量定义从：
 `${{ fromJson(inputs.caller_inputs).skip_pr_test_health_check && 'true' || 'false' }}`
 改为：
 `${{ (fromJson(inputs.caller_inputs).skip_pr_test_health_check || fromJson(inputs.caller_inputs).test_parallel_dispatch || fromJson(inputs.caller_inputs).run_all_tests) && 'true' || 'false' }}`

2. **效果**：当手动触发 `run_all_tests` 或 `test_parallel_dispatch` 调度时，`SKIP_PR_TEST_HEALTH_CHECK` 被设为 `true`，从而跳过快速失败，使得所有测试任务完成后统一报告结果。
3. **配套改动**：无。

## 评论区精华
无 review 讨论。

## 风险与影响
风险极低。仅涉及 CI 配置变更，不影响任何运行时逻辑。若表达式语法错误可能导致 CI 阶段异常，但已在 PR 中通过 CI 验证。影响范围仅限于手动触发的全量 CI 运行流程，变更后开发者能一次获取所有失败信息。

## 关联脉络
本 PR 是 #26986 的 follow-up，与 #26986 共同完善了手动全量 CI 运行的行为。