SuperAPI AI 工具集

release

通用与其它

查看项目

更新于 10-15 20:14

技能介绍

用途:该技能用于统一发布 hive 的每个程序——hive CLI 与 Hive Desktop 共用一个 semver 版本,打标签 v<version>。发布必须在本机启动,因为桌面端签名密钥在本机;mise 会自动加载发布凭据,禁止读取 .env、查看密钥值或在 mise 之外调用发布 CLI 的 publish 命令。

主要流程:先发布桌面端,在本机构建所有平台(macOS 加两种 Linux 架构,因此需要 macOS 与运行中的 Docker),上传到 R2,并写入 stable、beta、dev 清单;随后推送 v<version> 标签并触发 publish.yml,由 GoReleaser 构建 CLI、创建包含各程序说明的 GitHub release、发布 Homebrew cask 并部署站点,运行会等待该工作流。

版本由发布说明决定:桌面端内嵌其说明,工作流从被标记的提交渲染 CLI 说明,因此构建后补写的条目无法被展示。发布的是每个程序都有已提升条目、且尚无发布发布过的最新版本。

用法要点:不接受参数,拒绝 channel 或 version。用 git rev-parse --show-toplevel 定位仓库根目录并在其中执行命令,读取 docs/distribution.md,运行 git fetch origin main --tags --prune,并要求工作树干净、当前分支为 main、本地 main 与 origin/main 一致、gh auth status 成功,任一失败即停止说明,不自动 stash、reset、merge、pull、切换分支或丢弃工作。用 go run ./cmd/tools/release prepare 选择并校验候选版本,它会检查版本是否推进所有 v* 与 desktop-v* 标签及所有在线清单、各程序是否有带摘要的条目、标签是否已存在,并运行迁移顺序检查脚本。若提示没有比上次发布更新的已提升说明,则需先运行 /release-prep,合并 PR 后从第 2 步重启。确认前展示候选版本、标签、提交 SHA 与主题及当前清单,并请求明确确认。确认后运行 mise run check 与 mise run desktop:frontend:test,通过后执行 mise run release:publish -- <version>。R2 重试耗尽时可保留 cmd/desktop/bin 并用 --resume 续跑,禁止用 --force 恢复或自造替代版本。仅 GitHub 步骤失败时运行 go run ./cmd/tools/release github <version>,必要时按提示执行 gh run rerun <run-id> --failed。最后报告版本、标签与 release URL、工作流 URL 及桌面产物 URL 前缀。

版本规则:semver X.Y.Z 各程序同步递增,提升默认按 minor,除非要求 patch 或 major;go run ./cmd/tools/release next 可打印将采用的版本;升到 2 及以上需要 CLI Go 模块的 /vN 路径,未做该改动不得越过 1。发布必须推进所有 v* 标签、desktop-v* 标签与所有在线清单。

限制:资料未提供收费、价格、平台支持范围之外的信息,也未提供具体错误恢复细节以外的内容。