用途:在需要为 buildkite-agent-metrics 切割新版本发布时使用本技能。
主要能力与流程:
- 同步主分支:git fetch origin;git switch main;git pull --ff-only。
- 确定新版本:用 gh release view --repo buildkite/buildkite-agent-metrics --json tagName,publishedAt 查看最新发布,并向用户确认是 major、minor 还是 patch 升级;使用裸 semver(如 5.13.0),而非带 v 前缀的标签。
- 修改版本号:编辑 version/version.go,将 const Version = "X.Y.Z" 设为新版本。
- 预览自动生成的发布说明:通过只读 API 调用生成说明(不会创建发布或标签),GitHub 会自动识别上一个发布并依 .github/release.yml 分类。若发现 PR 分类错误(如因缺少分类标签被归入 Internal),用 gh pr edit <num> --add-label feature 修正标签后重新运行。
- 提交发布 PR:创建 release/vX.Y.Z 分支,提交 version/version.go 变更,消息为 release: vX.Y.Z;推送并创建 PR,标题为 release: vX.Y.Z,正文使用说明文件,并必须加 release 标签。
- 合并:等待 CI 通过后,通过 GitHub UI 或 gh pr merge --squash 合并。
- 完成:针对合并提交的主流水线会检测到版本变更,触发发布流水线,gh release create 创建标签并发布带自动生成说明的版本;出现后可在 Releases 页面抽查确认。
限制:实际发布说明在发布时由 gh release create --generate-notes 重新生成,因此 PR 正文仅供人工审查;发布标签为必需项,用于满足 PR-labels 工作流并避免该 PR 被纳入自身自动生成说明。