用途 本技能面向 OpenSteer 桌面版的发布流程,用于分发“实践发布”(insider/beta 渠道)或将已发布的 insider 晋升为 stable,并在被要求时按指定源码核验发布证据。使用前应阅读发布约束,特别是凭证归属与稳定版发布审批要求;不得操作签名密钥,也不得更改 GitHub 环境设置。只执行被请求的那一项发布操作。
主要能力
- 从默认分支触发 release.yml(GitHub 要求工作流位于该分支),以 insider 渠道且不发布的方式运行,并查看最近运行记录与单个运行详情。
- 对构建了产物的运行,下载其产物到指定的绝对路径目录作为发布证据。
- 若发现流程复用了已有草稿,则构建任务被跳过、该次运行没有新构建产物,此时改为下载对应草稿的资产:insider 草稿标签为 vX.Y.Z-insider,稳定版草稿为 desktop-vX.Y.Z。
- 将资产与该草稿的 release.json 及实际解析出的源码进行核对,不得用不相关的运行产物替代。
- 记录解析出的源码 SHA、确切的主分支 CI 运行及 Check 结果、所用命令、产物摘要、SHA256SUMS 和 release.json,并检查完整草稿。
- 稳定版晋升:选择一个已发布的 insider,先在 main 上运行完整 CI 并确认 Check,再以 channel=stable 和 insider_tag=vX.Y.Z-insider 触发 release.yml;核对 Stable ZIP 哈希与所选 insider ZIP 哈希一致,并检查其保留的启动检查证据。晋升只复制 ZIP 与 blockmap,不重新构建,也不使用签名凭证;源码必须比已发布的 Stable 更新。
- 失败排查使用 gh run view RUN_ID --log-failed,不得绕过源码、签名、公证、回执或资产核验。
使用方式 实践发布示例: gh workflow run release.yml --repo steerlabs/opensteer --ref main -f channel=insider -f publish=false gh run list --repo steerlabs/opensteer --workflow release.yml --limit 5 gh run view RUN_ID --repo steerlabs/opensteer 构建产物的下载: gh run download RUN_ID --repo steerlabs/opensteer --dir /absolute/release-evidence 草稿资产下载: gh release download vX.Y.Z-insider --repo steerlabs/opensteer --dir /absolute/release-evidence 稳定版晋升前先跑完整 CI: gh workflow run ci.yml --repo steerlabs/opensteer --ref main gh workflow run release.yml --repo steerlabs/opensteer --ref main -f channel=stable -f insider_tag=vX.Y.Z-insider 经授权的手动打包(需使用新的绝对输出目录;Stable 只用 promote,绝不做单独构建): pnpm desktop:public-release prepare --channel beta --app-zip /absolute/app.zip --version X.Y.Z --source-sha FULL_40_CHARACTER_SHA --out /absolute/new-insider --launch-check-passed pnpm desktop:public-release promote --repo steerlabs/opensteer --tag vX.Y.Z-insider --version X.Y.Z --source-sha FULL_40_CHARACTER_SHA --out /absolute/new-stable 只有在普通启动检查器针对这些确切的 ZIP 字节通过后,才能设置 --launch-check-passed。发布应通过工作流进行:在审批后,工作流会把独立核验过的 insider ZIP 哈希带入 --certified-zip-sha256。
适用场景 适用于 OpenSteer 桌面版 insider/beta 实践发布、stable 晋升、发布证据采集与核验,以及经授权的手动打包操作。新安装默认使用 Stable,Beta 需在应用设置中选择;两个渠道都使用 accounts.opensteer.com 上的账户。
限制 不得声明被跳过或未运行的流程已通过;真实桌面流程在合并后或维护者请求时于 VM 中运行,本地没有发布复验。发布需 release 构建的自动启动检查与已核验的草稿资产;VM 更新流程是可选的点播检查。发布 insider 需授权,并在授权后以 -f publish=true 重复分发;较新的 insider 发布后不得回填更旧的 insider。稳定版发布须交由发布环境审批。未获请求不得发布。