跳转到内容
Oleaflyv0.4.7

从版本标签构建完整的草稿,逐一检查各平台的产物,再通过受保护的发布工作流正式发布。

Oleafly 的发布分为两个有意为之的阶段。版本标签会构建并验证一份草稿。维护者再用另一次工作流运行来发布这份草稿。

推送到 main 会运行 CI,但不会创建发布。

从最新的 main 分支开始,并确保 CI 全部通过。

终端窗口
git switch main
git pull --ff-only
./scripts/bump-version.sh 0.3.6
git commit -am "chore: release v0.3.6"
git push origin main
git tag v0.3.6
git push origin v0.3.6

该标签会触发 .github/workflows/release.yml,它会构建以下目标:

目标安装包
macOS Apple Silicon.dmg
Windows x64.msi 和 -setup.exe
Linux x64.AppImage 和 .deb
Linux ARM64.AppImage 和 .deb

每个目标都会获取并验证它固定版本的编译器 sidecar。随后工作流把四份更新程序片段合并成一个 latest.json。只有当每个必需的安装包和更新条目都齐备时,这份草稿才算准备就绪。

打开 GitHub Releases 页面 (在新标签页中打开)上的草稿。检查发布说明、安装包名称、校验和、签名以及 latest.json。不要发布不完整的草稿。

打开 Actions → Release → Run workflow。输入同一个标签,并选择 Publish the release。

发布运行会重复构建和产物检查。它还会使用候选发布版对 Anthropic 和 Google 运行真实的契约测试。除非所有受支持的平台和完整的更新源都已就绪,否则最后一个任务会拒绝发布。

发布后,已安装的应用就能看到 latest.json。请把它当作不可逆的生产操作。如果发布运行失败,让发布保持草稿状态,修复原因后再次运行。

Oleafly 遵循语义化版本:

  • 补丁版本,例如 0.3.5 到 0.3.6,用于兼容的修复。
  • 次版本,例如 0.3.5 到 0.4.0,用于兼容的新功能。
  • 主版本,例如 0.3.5 到 1.0.0,用于破坏性变更或第一个稳定版本。
  • 标签必须与 package.json、src-tauri/tauri.conf.json、src-tauri/Cargo.toml 和 src-tauri/Cargo.lock 一致。请使用 scripts/bump-version.sh,不要分别手动修改这些文件。
  • 发布说明来自 CHANGELOG.md 中对应版本的章节。
  • 不要复用已发布的标签。草稿失败时,修复分支并创建新版本,除非有明确理由替换尚未发布的标签。
  • macOS 的签名和公证使用 Apple 发布密钥。配置了相应密钥时,Windows 的 Authenticode 使用 Azure Artifact Signing。更新程序签名使用单独的 Tauri 签名密钥。

更新程序签名与回滚行为参见自动更新。面向用户的安装说明在下载与安装。

图片预览

无法加载 AI 回答

请重试,或搜索文档。