执行摘要
- 一句话:AMD PR 门禁默认镜像切换到 ROCm 7.2.4
- 推荐动作:该 PR 是 CI 基础设施调整,值得快速了解,但无深度技术内容。关注点在于默认镜像切换的合理性,以及调用方显式化是否足够清晰。建议阅读 PR 中关于调用方显式化的 commit message,体会 CI 配置可追溯性的设计。
功能与动机
PR body 明确指出这是对 PR#30984 的跟进:当时引入了 ROCm 7.2.4 镜像风味,但因尚无对应的 nightly 镜像,为避免自动运行在容器启动阶段失败,刻意将 PR 门禁保留在 7.2.0。如今 7.2.4 nightly 镜像已存在,因此按计划翻转默认值。作者 bingxche 在 commit message 中进一步说明:如果不翻转默认,AMD CI 将继续在旧镜像上运行,无法充分验证 7.2.4 的兼容性。
实现拆解
- 修改主 PR 门禁(pr-test-amd-rocm720.yml):将
default: rocm720 改为 rocm724,涉及 workflow 的 on 块中的 choice/string 类型 input 默认值,以及内部和环境变量 ROCM_VERSION 的默认值。
- 修改额外测试门禁(pr-test-amd-extra.yml):同样将
default: rocm720 改为 rocm724,并调整 job 名称中根据非默认版本附加后缀的条件,从 != 'rocm720' 改为 != 'rocm724',同时更新容器启动脚本的参数默认值。
- 显式化调用方(amd-aiter-scout.yml 和 release-branch-cut.yml):在两个调用
pr-test-amd-rocm720.yml 的 workflow 中显式传入 rocm_version: rocm724,以便在调用方的 diff 中留下明确痕迹,避免仅靠 callee 默认值翻转而导致不可追踪的隐性变更。
- 无测试配置:本 PR 不涉及单元测试或文档改动。
关键文件:
.github/workflows/pr-test-amd-rocm720.yml(模块 CI 配置;类别 infra;类型 infrastructure): 主 PR 门禁,默认 ROCm 版本从 7.2.0 切换为 7.2.4,是本次变更的核心文件,影响所有隐式使用默认值的调用。
.github/workflows/pr-test-amd-extra.yml(模块 CI 配置;类别 infra;类型 infrastructure): 额外测试门禁同样切换默认版本,并调整 job 名称后缀条件,影响额外测试的命名与容器启动。
.github/workflows/amd-aiter-scout.yml(模块 CI 配置;类别 infra;类型 infrastructure): 调用方显式传入 rocm_version: rocm724,避免依赖 callee 默认值导致隐性变更。
.github/workflows/release-branch-cut.yml(模块 CI 配置;类别 infra;类型 infrastructure): 调用方显式传入 rocm_version: rocm724,确保发布分支测试使用新镜像。
关键符号:未识别
关键源码片段
.github/workflows/amd-aiter-scout.yml
调用方显式传入 rocm_version: rocm724,避免依赖 callee 默认值导致隐性变更。
# .github/workflows/amd-aiter-scout.yml
# 调用 ROCm 7.2 PR 门禁时显式指定镜像风味,保证调用方 diff 可追踪。
jobs:
trigger-rocm72:
uses: ./.github/workflows/pr-test-amd-rocm720.yml
with:
ref: amd/aiter-ci
rocm_version: rocm724 # 显式指定,避免随 callee 默认值改变而隐式受影响
run_all_tests: true
.github/workflows/release-branch-cut.yml
调用方显式传入 rocm_version: rocm724,确保发布分支测试使用新镜像。
# .github/workflows/release-branch-cut.yml
# 发布分支测试同样显式指定 ROCm 7.2.4,保持行为一致。
jobs:
test-rocm72:
uses: ./.github/workflows/pr-test-amd-rocm720.yml
with:
ref: ${{ needs.cut-release-branch.outputs.branch_name }}
rocm_version: rocm724 # 显式指定,避免因默认值变化而引入不期望的镜像切换
run_all_tests: true
评论区精华
PR 无 review 评论,只有一条作者自己的 issue 评论,提及在 ROCm 7.2.4 镜像上测试 PR test 的链接。审核人 HaiShaw 直接批准,无讨论要点。
风险与影响
- 风险:主要风险在于若 ROCm 7.2.4 nightly 镜像在运行时出现问题(如缺失依赖、兼容性回归),可能导致 AMD PR 门禁失败,阻塞 AMD 相关 PR 合并。由于默认值变更,所有未显式指定 rocm_version 的调用将自动使用新镜像,波及范围较广,但 PR body 和 commit message 中已确认该镜像存在,且作者已实际测试通过。另注意,该变更仅影响 CI 配置,不涉及运行时代码路径。
- 影响:影响范围限于 AMD CI 基础设施,对用户和运行时无直接影响。团队将默认使用更新的 ROCm 7.2.4 镜像进行 PR 验证,更早发现兼容性问题,提升 AMD 测试覆盖的质量。由于该变更属于基础设施默认值调整,影响程度中等偏下。
- 风险标记:CI 默认值变更, 影响 AMD 所有 PR 门禁
关联脉络
- PR #30984 Add ROCm 7.2.4 flavor to AMD CI: 本 PR 是对 #30984 的后续,当时引入 7.2.4 镜像但保留默认 7.2.0,本 PR 按其计划翻转默认。
- PR #35603 [AMD][CI] Run Both ROCm 7.2.4 and ROCm 7.2.0 Images on Nightly Test AMD: 与此 PR 同属 AMD CI 基础设施演进,涉及 ROCm 7.2.4 镜像的 nightly 支持,为默认切换提供前提。
参与讨论