SuperAPI AI 工具集

release-cherry-pick

通用与其它

查看项目

更新于 10-16 09:46

技能介绍

用途:将 main 上已合并、带 cherry-pick-<version> 标签(不含 cherry-pick-done)的 PR,按合并顺序 cherry-pick 到 release/<version> 分支,并开启目标分支的 PR。

主要能力与流程:

  1. 确定版本:向用户索取发布版本(如 0.44.0),并以 VERSION=<version> 供后续步骤使用。
  2. 审计遗漏标签:用 NVBugs MCP 搜索 Keywords 精确包含 Committed_ModelOpt_<VERSION> 的 NVBug,翻页取全部结果并读取评论,提取其中的 PR 链接或 PR #<NUM>,保留已合入 main、缺少 cherry-pick-<VERSION> 且未进入发布分支的 PR,并逐条确认是否缺陷修复。随后审计自最新候选版本以来合入 main 的 PR: git fetch origin main "release/$VERSION" --tags git cherry "origin/release/$VERSION" origin/main 并结合 gh search prs、gh pr view 获取合并提交信息,按“是/否/不确定”分类,去重后输出审计表,标注 Needs label、Unknown、No action needed,并由用户确认后再打标签: gh pr edit "$pr" --repo NVIDIA/Model-Optimizer --add-label "cherry-pick-$VERSION"
  3. 获取待处理 PR:用 GitHub 搜索 API 列出有 cherry-pick 标签但无 cherry-pick-done 的 PR,按合并时间升序,并向用户确认。
  4. 切换发布分支:git fetch origin release/<VERSION> 后 git checkout release/<VERSION>。
  5. 取合并提交 SHA:gh pr view <NUM> --repo NVIDIA/Model-Optimizer --json mergeCommit --jq '.mergeCommit.oid'。
  6. 按合并顺序 cherry-pick:git cherry-pick -s <SHA>;冲突时告知用户修复后执行 git cherry-pick --continue。
  7. 建 PR:推送到 cherry-picks/release-<VERSION>,以 release/<VERSION> 为目标分支,标题列出全部 PR 编号,正文仅含“## Cherry-picked PRs”标题和每行一个 - #<NUM>。
  8. 打完成标签:对成功 cherry-pick 的 PR 执行 gh pr edit $pr --repo NVIDIA/Model-Optimizer --add-label "cherry-pick-done"。

适用场景:NVIDIA Model-Optimizer 等仓库的发布分支回补与标签合规审计。 限制:需用户提供版本号并人工确认标签与不确定项;未合并、非基于 main 或分类为不确定的候选,未经明确批准不得打标;NVBug 关键词只是审查证据,不等于相关 PR 都应回补;近端 PR 审计若达到 1000 条上限应报错退出;其他具体发布策略与权限细节暂未提供。