# PR #24112 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] Update AMD Nightly Test checkout mechanism
- 合并时间：2026-04-30 11:36
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/24112

---

# 执行摘要

- 一句话：修复 AMD 夜间测试 checkout 指向移动指针问题
- 推荐动作：此 PR 虽小但避免了常见的 CI 暗坑（移动指针引用），值得在同类工作流中推广。若您维护其他 CI 配置，可检查是否也存在类似问题。

# 功能与动机

`github.ref` 是移动指针（如 `refs/heads/main`），导致“Re-run failed jobs”时检出比原始失败时更新的代码，使失败无法复现或 bisect。PR body 给出了具体例子：原调度运行检出 `826f2d062`，重跑后检出 `8327270c7`（相差约 30 个 commit）。

# 实现拆解

1. 识别问题：`nightly-test-amd*.yml` 中 checkout 步骤使用 `${{ inputs.ref || github.ref }}`，而 `pr-test-amd*.yml` 已正确使用 `${{ inputs.ref || github.sha }}`。 
2. 全局替换：在两个文件的每个 job 内部，将 checkout 的 `ref` 参数从 `github.ref` 改为 `github.sha`；`inputs.ref` 分支不受影响（显式传入时优先）。 
3. 验证不变项：`concurrency.group` 保持原样（基于分支的去重逻辑依然合适）。 
4. 覆盖范围：共修改 `nightly-test-amd-rocm720.yml` 和 `nightly-test-amd.yml` 两个文件，每个文件涉及约 35 个 checkouts 步骤。

关键文件：
- `.github/workflows/nightly-test-amd-rocm720.yml`（模块 CI 配置；类别 infra；类型 configuration）: AMD ROCm 7.2 nightly 测试工作流：修改所有 checkouts 步骤，保证重跑 commit 固定。
- `.github/workflows/nightly-test-amd.yml`（模块 CI 配置；类别 infra；类型 configuration）: AMD 常规 nightly 测试工作流，与另一个文件做完全相同修正。

关键符号：未识别


# 评论区精华

本 PR 无 review 评论，仅由 bingxche 直接批准。

- 暂无高价值评论线程

# 风险与影响

- 风险：低风险：该变更仅在未传入 `inputs.ref` 的触发场景（如定时调度、手动重跑）下生效，且与已经稳定运行的 `pr-test-amd*.yml` 行为一致。无需担心破坏现有流程，但建议合并后观察一次 nightly 运行。
- 影响：直接提升 AMD 夜间测试的可复现性：失败后重跑将始终基于同一个 commit，便于排错。对用户无直接影响；对维护者而言，减少了因无关代码变动导致的假性通过或失败排查开销。
- 风险标记：无显著风险

# 关联脉络

- 暂无明显关联 PR