跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

发布补丁与渠道回退

通过补丁 PR 将 main 修复带入发行分支,区分更换 npm tag 与发布新版本。

需要把 main 上的修复尽快带到稳定版或预览版时,官方提供自动创建补丁 PR 的流程。执行属于 release manager 协调下的维护工作,补丁仍需审阅和验证。

从已合并 PR 创建补丁

维护者可在原已合并 PR 中评论:

评论目标
/patch默认同时补 stable 与 preview
/patch both显式同时补两个渠道
/patch stable仅 stable
/patch preview仅 preview

Patch from Comment 会寻找 merge commit SHA 并触发 Patch (1) Create PR。原 PR 未合并时会报告失败。也可手动运行 Create PR,提供 main 上修复的完整 SHA 和 stable/preview 渠道。

自动化创建哪些内容

流程寻找目标渠道最新发布 tag,必要时创建 release 分支,再创建 hotfix 分支,cherry-pick 指定提交,并发起 hotfix 到 release 的 PR。

release 分支受保护,官方要求至少一个 code owner 审阅后才能合并。检查冲突处理、实际差异和测试结果,不把 cherry-pick 自动成功等同于修复在旧版本上正确。

需要组合多个相关修复时,可以在已创建的 hotfix 分支中继续加入提交,更新原补丁 PR 的描述并重新验证。使用 PR 实际分支名,不复制文档中的历史版本示例名称。

合并后发布

合并补丁 PR 后,Patch (2) Trigger 启动 Patch (3) Release,完成构建、测试、npm 新 patch 发布与 GitHub Release 说明。

若出现 Resource not accessible by integration 或引用已不存在的工作流,官方列出的排查方向是旧 release/hotfix 分支中可能保留过时流程。先核对这次运行实际采用的工作流 ref 和权限,再按维护流程修正;不能将特定示例推广成所有 GitHub Actions 事件的统一分支读取规则。

回退或前移 npm tag

Release: Change Tags 将渠道指向一个已经发布到 npm 的版本,不需要为该动作重新完成一次包发布。输入包括 Version、Channel、Dry Run 和 Environment;dry run 默认为 true,prod 需要相应授权。

工作流会为 CLI、core 和 A2A server 对应包更新 dist-tag。核对真实渠道名称;stable 用户安装入口通常是 latest,不应仅凭文档某段的 stable 字样创建另一个预期之外的 tag。

改标签影响后续按该 tag 解析版本的安装,不等于重新编译修复,也不自动改变所有已安装用户的程序。完成后核对包版本和发布验收结果。