用途:简化 microsoft/aspire 的发布分支回移流程。先可选地在源 PR 上评论 /backport to release/X.Y 触发机器人,等待 .github/workflows/backport.yml 创建回移 PR,再填写 shiproom 审批模板,使其可进入 shiproom 审核。
主要能力:校验源 PR 状态与目标分支是否存在;检查目标分支 eng/Versions.props 的 PatchVersion 是否已递增(若与最新已发布稳定版相同则先停止,需单独 PR 递增);检查是否已有回移 PR 或已发过 /backport 评论以避免重复触发;轮询等待机器人创建回移 PR;收集源 PR、关联 issue 与 diff 上下文,起草四个模板字段;经用户确认后用 gh pr edit 更新回移 PR 正文。
使用方式:需先安装并登录 GitHub CLI(gh --version、gh auth login),命令中设置 GH_PAGER=cat,默认仓库 microsoft/aspire,fork 场景显式传 --repo microsoft/aspire。触发命令为 gh pr comment <source-pr> --repo microsoft/aspire --body "/backport to <target-branch>";轮询以 head 分支 backport/pr-<N>-to-<target-branch> 是否存在为准,每 15 秒一次、最多 5 分钟。
适用场景:将已合并或待合并的修复回移到 release/X.Y;用户已手动回移、只需补填模板;一次请求多个目标分支时按每个目标独立执行。
限制:不解决合并冲突,不批准或合并回移 PR,不修改源 PR(仅发触发评论),不判断修复是否达到回移标准。机器人按工作流运行时源 PR 的 head 内容回移,之后新增提交不会自动包含。若源 PR 未合并、目标分支不存在、机器人报 git am 冲突或轮询超时,需交回用户处理。Regression? 与 Risk 等字段缺乏依据时写“Unknown — please confirm”,不臆测。评论者需具备仓库 write 或 admin 权限。