-
Notifications
You must be signed in to change notification settings - Fork 235
WeaselReleaseManual
-
在 Trello 或筆記本上闢一葉紙,記下主要更新內容,方便粘貼到更新日誌。 例如 https://trello.com/c/WieadeZt
-
對比上次發佈(git tag),檢查
weasel.yaml
是否需要更新版本號。 -
代碼交齊後,用工具根據慣例格式生成變更記錄。 以 clog-cli 爲例,爲新版本 0.11.0 生成變更記錄,做法是
# cargo install clog-cli cd weasel clog --from-latest-tag \ --changelog CHANGELOG.md \ --repository https://github.com/rime/weasel \ --setversion 0.11.0
-
把手寫的「主要更新」列在變更記錄文件中本次發佈的標題下,格式(包括空行)須與自動生成的段落相同:
<a name="0.11.0"></a> ## 0.11.0 (2018-04-07) #### 主要更新 * 新增 [Rime 配置管理器](https://github.com/rime/plum),通過「輸入法設定/獲取更多輸入方案」調用 * 在輸入法語言欄顯示狀態切換按鈕(TSF 模式) * 修復多個前端兼容性問題 * 新增配色主題「現代藍」`metroblue`、「幽能」`psionics` #### Features
-
提交對變更記錄的修改
git commit --all --message "docs(CHANGELOG.md): release 0.11.0"
-
用腳本更新輸入法程序的版本號,並提交修改過的文件
update/bump-version.sh # print usage update/bump-version.sh 0.10.0 0.11.0 git commit --all --message "chore(release): 0.11.0 :tada:"
-
以上提交在
master
完成。如果在另一個分支發佈,如legacy
,則將以上修改合併到分支。 -
push 所有修改到 GitHub。檢驗 CI build:下載安裝程序,測試全新安裝以及從上一個推送版本升級。
-
確認該版本可發佈後,在
master
或要做發佈的分支上打標籤。(可推遲到發佈完成)推送標籤到 GitHub。git tag --annotate 0.11.0 --message "chore(release): 0.11.0 :tada:" git push --tags
-
將(release tag 或最終 push 觸發的) CI build 生成的安裝包上傳到 bintray。 在 https://bintray.com/rime/weasel/release 新建版本 (New version),命名爲版本號
0.11.0
,描述:小狼毫 0.11.0
。 爲新建的版本上傳文件weasel-0.11.0.0-installer.exe
。 -
生成顯示在推送更新介面的變更記錄。只包含
CHANGELOG.md
的最新版本章節,格式爲樸素的 HTML 網頁。# npm install --global marked update/write-release-notes.sh
留存生成的
release-notes.html
文件備用。 -
使用 Hexo 在官方網站 <rime.im> 發佈更新。
git clone https://github.com/rime/home.git rime-home cd rime-home/blog npm install npm install --global hexo-cli # TODO(keyholder): edit files
需要修改的內容包括:
-
修改完成後,在本地調試網站。
# check your changes with local HTTP server hexo server
方法爲:將以上修改過的網葉地址中的域名部份替換爲 Hexo 提示的本地服務器地址,在瀏覽器中預覽各個網葉,檢查文字內容和鏈接地址。
-
確認內容無誤,用 Hexo 發佈網站。
# first time releaser, setup without deployment hexo deploy --setup # publish website at rime.github.io hexo deploy --generate
發佈完成後,可以在 https://github.com/rime/rime.github.io/commits/master 複查提交到 GitHub Pages 的修訂。
-
如果本次發佈不是針對小狼毫 0.9 的升級版本(見第 6 步),發佈至此完成。 否則需要在驗證新版本工作正常後,將其推送到位於 <rimeime.github.io> 的舊更新頻道。
首先需要取得 rimeime.github.io 的寫權限。
git clone https://github.com/rimeime/rimeime.github.io cd rimeime.github.io
-
編輯
weasel-update/appcast.xml
以及weasel-update/pioneer/appcast.xml
: 從第 5 步的weasel/update/appcast.xml
複製<item>
標籤的內容,視情況修改channel > title
文字中的升級終點版本號。當前版本同時在新、舊兩個更新頻道發佈,因此不必修改 <rimeime.github.io> 的更新日誌。 因爲根據
appcast.xml
中<sparkle:releaseNotesLink>
的定義,推送更新提示一律從新官網 <rime.github.io> 加載。 -
最後提交修改,發出 pull-request。修改併入
master
即開始推送更新。