SuperAPI AI 工具集

orchestrate-multi-repo-sdks

通用与其它

查看项目

更新于 10-16 01:12

技能介绍

用途:当每种语言的 SDK 位于各自独立仓库(如 myapi-typescript、myapi-python、myapi-go)时,管理 SDK 生成流程。适用于不同语言 SDK 分仓、需要 PR 触发的跨仓库生成、希望自动对账(规格 PR 关闭时合并或关闭 SDK PR)、不同团队维护不同语言 SDK 的场景。

主要能力:一是 PR 触发跨仓库生成,规格仓库 PR 打开、同步或重开时,通过矩阵策略向各 SDK 仓库派发 sdk_generation.yaml 工作流,并传入 feature_branch;二是 PR 对账,规格 PR 关闭时按分支查找各 SDK 仓库中的 PR,若规格 PR 已合并则用 gh pr merge --squash --delete-branch 合并,否则用 gh pr close 关闭;三是 PR 状态回传,通过带标记的评论在规格 PR 中报告各 SDK 生成状态。

使用方式:在规格仓库配置 kick-off-generation.yaml 与 reconcile-prs.yaml,在每个 SDK 仓库配置可 workflow_dispatch 的 sdk_generation.yaml,其中运行 speakeasy run -y 生成 SDK 并创建 PR。所需密钥:所有仓库需 SPEAKEASY_API_KEY,规格仓库需具备 SDK 仓库 repo 权限的 SDK_REPOS_PAT。

限制与排错:PAT 需 repo 与 actions 权限;SDK 仓库主分支须存在该工作流,否则报分支未找到;若分支已有 PR 则不会重复创建。多仓库隔离性强、可独立版本化,但 CI 复杂度高于单仓库。相关技能:start-new-sdk-project、orchestrate-multi-target-sdks。