Prhub

#26909 [AMD] make bypass-fastfail label also disable within-suite fast-fail

原始 PR 作者 yctseng0211 合并时间 2026-06-01 16:17 文件变更 1 提交数 2 评论 1 代码增减 +9 / -2

执行摘要

AMD CI 内套件级 fast-fail 支持 bypass-fastfail 标签

AMD CI 用户抱怨第一个失败会掩盖后续信号:阶段 B 的第一个失败文件隐藏了同一分区中的其他文件,并且阻止阶段 C 运行。PR body 明确引用 issue,并解释了双层 fast-fail 机制(跨阶段和内套件)以及 NVIDIA 已有的 bypass-fastfail 标签处理方式。

这是一个经过深思熟虑的小型 CI 改进,与 NVIDIA 已有的模式一致。适合直接合并,无需深度审查。

讨论亮点

无 review 评论。只有 gemini-code-assist 机器人自动回复,表示无法生成 review。

实现拆解

  1. 定位文件.github/workflows/pr-test-amd.yml 中的 check-changes 作业的 Set continue-on-error for schedule/full runs 步骤。
  2. 新增环境变量BYPASS_FASTFAIL_LABEL,通过 ${{ contains(github.event.pull_request.labels.*.name, 'bypass-fastfail') }} 获取标签是否存在。
  3. 修改条件判断:在现有的 if 条件中增加 || "$BYPASS_FASTFAIL_LABEL" == "true" 分支,当标签存在时,continue_on_error 输出设为 true
  4. 更新日志输出:调整 echo 信息以包含 bypass-fastfail 的状态,便于调试。
文件 模块 状态 重要度
.github/workflows/pr-test-amd.yml CI 配置 modified 3.6

关键源码片段

.github/workflows/pr-test-amd.yml infrastructure

唯一更改的文件,在该文件中通过新增环境变量和修改条件判断,实现了 `bypass-fastfail` 标签对内套件级 fast-fail 的禁用。

# .github/workflows/pr-test-amd.yml, check-changes 作业片段
- name: Set continue-on-error for schedule/full runs
  id: set-continue-on-error
  # 新增环境变量:读取 PR 是否带有 bypass-fastfail 标签
  env:
    BYPASS_FASTFAIL_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'bypass-fastfail') }}
  run: |
    # 原有条件:schedule 运行 或 手动触发时传递了 continue_on_error
    # 新增第三个分支:当 bypass-fastfail 标签存在时也启用 continue-on-error
    if [[ "${{ steps.run-mode.outputs.run_all_tests }}" == "true" \
      || "${{ inputs.continue_on_error }}" == "true" \
      || "$BYPASS_FASTFAIL_LABEL" == "true" ]]; then
      echo "continue_on_error=true" >> $GITHUB_OUTPUT
      echo "Continue-on-error: ENABLED (run_all_tests=${{ steps.run-mode.outputs.run_all_tests }}, input=${{ inputs.continue_on_error }}, bypass-fastfail=$BYPASS_FASTFAIL_LABEL)"
    else
      echo "continue_on_error=false" >> $GITHUB_OUTPUT
      echo "Continue-on-error: DISABLED"
    fi

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低:改动仅为 CI 工作流中一个步骤的条件表达式扩展,不影响任何运行时逻辑、性能或安全。如果 bypass-fastfail 标签被滥用,可能导致 CI 超时或资源浪费,但这是标签本身的预期行为。

影响范围仅限于 AMD CI 的 pr-test-amd.yml,且仅在 PR 带有 bypass-fastfail 标签时生效。不影响 NVIDIA 或其他平台。用户可以看到完整的测试失败信息,便于调试。

CI 变更 标签依赖

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论