發行 Oleafly
從版本標籤建置完整的草稿、檢查每個平台的產出檔,再透過有防護的發行工作流程發布。
Oleafly 的發行分成兩個刻意區隔的階段。版本標籤會建置並驗證一份草稿。維護者再用另一次工作流程執行來發布同一份草稿。
推送到 main 會執行 CI,但不會建立發行版本。
建置草稿
標題為「建置草稿」的段落請從最新的 main 分支開始,並確認 CI 為綠燈。
git switch maingit pull --ff-only./scripts/bump-version.sh 0.3.6git commit -am "chore: release v0.3.6"git push origin maingit tag v0.3.6git 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 執行即時的契約測試。最後一個工作會在每個支援的平台和完整的更新摘要來源(feed)未全部到位時拒絕發布。
發布會讓已安裝的應用程式看見 latest.json。請把它視為無法復原的正式環境操作。如果發布的執行失敗,請讓發行版本維持草稿狀態,修正原因,然後再執行一次。
版本號碼
標題為「版本號碼」的段落Oleafly 遵循語意化版本:
- 修補版(Patch),例如
0.3.5到0.3.6,用於相容的修正。 - 次要版(Minor),例如
0.3.5到0.4.0,用於相容的新功能。 - 主要版(Major),例如
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 簽署金鑰。