执行摘要
- 一句话:更新 release 分支创建脚本使其支持幂等
- 推荐动作:值得合并,改动清晰且具有实际价值:避免了手动删除分支才能重跑的问题。但建议在 Workflow 注释或文档中明确说明幂等行为。
功能与动机
原本的分支创建脚本在分支已存在时直接报错退出,导致重新运行工作流时失败。修改后允许分支已存在时跳过创建阶段,直接进行下游测试,提升了 CI 工作流的鲁棒性。
实现拆解
- 输入验证后新增分支检查步骤:在
Check if branch already exists 步骤中添加 id: check_exists,将原本的 echo "::error" && exit 1 替换为设置输出 branch_exists=true,并跳过创建步骤。
- 为创建分支、更新文档、推送分支三个步骤添加条件:
if: steps.check_exists.outputs.branch_exists != 'true',确保仅在分支不存在时执行。
- 重排输出逻辑:将
set_output 步骤移至推送之后,独立输出 branch_name;并更新 Summary 步骤,依据 branch_exists 显示不同的状态信息。
关键文件:
.github/workflows/release-branch-cut.yml(模块 CI;类别 infra;类型 infrastructure): 唯一修改的文件,所有变更均在此文件中实现。
关键符号:未识别
评论区精华
该 PR 没有审查评论,讨论仅有 Gemini Code Assist 的自动备注,表示无法对 YAML 文件进行审查。但评审者为仓库维护者 Fridge003,单人提交并通过。
风险与影响
- 风险:风险极低。仅修改 CI 工作流的控制逻辑,不影响任何生产代码或模型推理。但需要确认下游测试步骤是否依赖
branch_name 输出——当前 set_output 步骤移至 Push release branch 后,若分支已存在,Push release branch 不会执行,但 set_output 步骤仍会执行(无条件),因此下游可用。需注意 Emit branch_name output 步骤中的 BRANCH_NAME 直接来自 github.event.inputs,而之前依赖 steps.set_output.outputs.branch_name 的下游步骤可能需调整。
- 影响:影响范围限于 GitHub Actions 工作流本身,具体为
release-branch-cut.yml。使得该工作流可以幂等重跑,适合 CI 重试场景。无用户可见影响。
- 风险标记:分支输出依赖调整
关联脉络
参与讨论