用途:驱动采用 JarvusInnovations/infra-components 发布动作的仓库完成发布。核心模型是一条从 develop 到 main 的长期 Release PR,合并即发布。技能负责把该 PR 的标题(版本号)和正文(发布说明)整理正确,并在用户明确同意后合并。
主要能力:识别仓库是否启用该流程(检查 .github/workflows 中的 release-prepare/validate/publish,或是否存在 Release: v* 的开放 PR);读取 PR 状态;拉取机器人 ## Changelog 评论作为提交来源;把提交分为 Improvements(面向用户/干系人的能力与重要修复)和 Technical(CI/CD、重构、文档、内部工具等);起草发布说明;按 semver 重新推荐版本号(有面向用户新能力为 minor,仅修复/技术为 patch,破坏性变更为 major,需先与用户确认);编辑标题与正文并合并。
使用方式:用 gh 命令操作。查找 PR:gh pr list --state open --json number,title | jq '.[] | select(.title|startswith("Release: v"))'。无 PR 但有未发布提交时,git push origin develop 触发 release-prepare 开 PR(推送非破坏性,只开 PR 不发布)。拉取机器人 changelog:gh api repos/{owner}/{repo}/issues/<number>/comments --jq '.[] | select(.body | contains("## Changelog")) | .body'。应用正文与标题:gh pr edit <number> --body-file <notes-file> 与 gh pr edit <number> --title "Release: v<version>"。编辑会重新触发 release-validate,需等待并确认通过:gh run list --workflow=release-validate.yml --limit 1 --json status,conclusion。合并发布:gh pr merge <number> --merge。发布后核对:gh release view v<version> --json body --jq .body。
适用场景:仓库已接入上述三个 GitHub Actions 的发布流程。
限制与注意:不要自行编造 changelog,机器人评论是提交集合与 @author 归属的唯一来源;release-prepare 的标题固定为上一标签加 patch,且创建后不再重算,重新计算版本号是使用者的职责;release-validate 只校验标题格式与标签是否已存在,不校验正文,正文需在合并前自行写好;合并前避免最后一刻改正文,否则可能因 webhook 载荷竞态丢失;release-validate 对任何进入 main 的 PR 都会触发,非发布 PR 显示红色属预期;标签已存在后的红色校验通常是无害的重跑。资料未提供具体收费、价格或平台信息。