SuperAPI AI 工具集

cutting-a-release

通用与其它

查看项目

更新于 10-15 20:07

技能介绍

用途:为 monorepo 执行一次完整发版,把分支/PR 流程、版本号提升和两份发布文档(RELEASE_NOTES.md、CHANGELOG.md)三件事一起完成。

主要能力与流程:从 develop 拉取最新代码并切出 release/x.y.z 分支(分支名即版本号,无 v 前缀);在分支上确定版本层级、提升 VERSION 并同步、撰写两份文档,然后提交推送并开 PR 到 main,squash 合并后再把 main 回合并到 develop。仓库硬性规则:不得直接提交到 develop 或 main,二者仅接受 PR;合入 main 后必须回合并,否则分支分叉、后续发版会在发布产物文件上冲突。

版本提升:根目录 VERSION 文件为唯一来源,格式 MAJOR.MINOR.PATCH[-PRERELEASE],无 v 前缀。执行 bash scripts/common/sync-version.sh 同步到各清单与 README,并用 bash scripts/common/sync-version.sh --check 校验须输出 [PASS]。同步脚本需在 dev 容器内运行(依赖固定版本的 uv 与 npm)。

合并前检查:一是 DynamoDB GSI 限制,若生产已存在的表在一次发布中新增超过一个 GSI,必须拆成两次部署,可运行 node scripts/release/check-gsi-update-limit.mjs 本地检查;二是数据回填,若新增回填脚本,发布说明必须写明脚本、命令与环境,可运行 node scripts/release/check-pending-backfills.mjs 检查。

文档撰写:先写 CHANGELOG.md(事实性、按类别分组、尽量带 PR 号),再写 RELEASE_NOTES.md(叙述式、先讲用户/运维收益再讲机制),格式模板见 references/release-notes-format.md 与 references/changelog-format.md。

限制:资料未提供该技能的具体安装方式、收费与平台信息;回填是否真正执行无法由 CI 验证。