SuperAPI AI 工具集

release

办公与效率

查看项目

更新于 10-15 20:31

技能介绍

用途:按 SemVer 为 AI Diff Reviewer 执行正式发布,包括生成 chore(release): vX.Y.Z 提交、打标签、推送并发布 GitHub Release。release.yml 工作流会在 release 事件触发后自动更新滚动的 major 标签。该技能是标准流程,用户入口为 .agents/commands/release.md 中的斜杠命令。

不负责:不自行升版本号或从零生成变更日志(应已在 CHANGELOG.md 的 [Unreleased] 中写好);不手动更新 major 标签;未先讨论重大版本前不推送破坏性变更,vN.0.0 需先有 issue、迁移指南等流程。

输入:version,必填,如 v1.2.0;未提供时询问用户。

预检:确认在 main 分支(git rev-parse --abbrev-ref HEAD)、工作树干净且与远端同步(git fetch origin && git status)、编译检查通过(python3 -m py_compile scripts/reviewer.py 返回 0)、action.yml 可解析(python3 -c "import yaml; yaml.safe_load(open('action.yml'))")、CHANGELOG 有 [Unreleased] 条目。任一不满足应停止并反馈。

步骤:把 ## [Unreleased] 提升为 ## [X.Y.Z] — YYYY-MM-DD,在上方插入新的空 [Unreleased] 块,更新底部比较链接;然后 git add CHANGELOG.md、git commit -m "chore(release): vX.Y.Z"、git push origin main、git tag vX.Y.Z、git push origin vX.Y.Z,最后 gh release create vX.Y.Z --title "vX.Y.Z" --notes-from-tag --latest。若自动提取的说明有误,可在 GitHub 界面后续编辑。

验证:约 1 分钟后 git fetch --tags、git rev-parse vX 应指向新标签、git log --oneline vX -1 为发布提交、gh run list --workflow=release.yml --limit 1 应为绿色。若 vX 未移动,检查 release.yml 运行日志。

发布后:与用户确认是否对外宣布,补丁版通常不宣布,次版本/主版本通常宣布。主版本需核对 README.md 中 uses: DailybotHQ/ai-diff-reviewer@vN 指向新主版本。

失败处理:编译检查失败则在 main 修复后重来;标签推送失败若本地标签已存在且指向预期提交可直接推送,否则在远端不存在时删除重打(git tag -d vX.Y.Z);gh release create 失败多因标签未推送或 gh 未认证,检查 gh auth status;release.yml 未移动 major 标签时查日志,手动回退为 git tag -f vX vX.Y.Z && git push origin vX --force,但需理解工作流行为。

回滚:发布是公开的,不要删除标签或强制回退 major 标签,消费者可能已拉取;应发布 vX.Y.{Z+1} 修复版,滚动 major 标签会自然前移。