Remotion Bits 發布
當需從此儲存庫準備並發布新的 remotion-bits 版本時,使用此技能。
此技能的功能
此技能執行完整的發布工作流程:
- 更新
./package.json中的版本。預設為 patch 更新,除非使用者明確要求 minor、major 或特定版本。 - 為新版本更新
CHANGELOG.md,加入簡潔的版本說明。 - 執行
npm run registry:build。 - 以
chore: vX.Y.Z提交發布變更。 - 將發布提交推送至
master。 - 從 git 歷史與合併的 PR 中研究自上一版本以來的 notable 變更。
- 使用系統層級的瀏覽器(而非內部瀏覽器)開啟預填的 GitHub Release 表單。
- GitHub Release 發布後,使用
./scripts/deploy-docs.sh部署文件。 - 使用
npm publish將套件發布至 npm。
前置條件
- 在儲存庫根目錄工作。
- 請勿啟動 docs 開發伺服器。
- 假設發布過程需要環境中已配置有效的 GitHub、Cloudflare 和 npm 憑證。
- 如果工作目錄包含使用者的無關變更,請勿還原它們。要嘛繞過這些變更,要嘛在影響發布檔案前停止並詢問使用者。
發布工作流程
1. 決定目標版本
- 從
./package.json讀取目前版本。 - 如果使用者指定了特定版本,則使用該版本。
- 如果使用者指定了更新類型,則套用該類型。
- 否則進行 patch 更新。
- git 標籤和版本標題必須為
vX.Y.Z。
2. 準備發布說明
- 審查自上一發布標籤以來的提交。
- 當有助於總結變更時,審查已合併的 PR。
- 透過在頂部插入新版本區塊來更新
CHANGELOG.md。 - 保持條目簡潔且面向使用者。
- 使用此格式:
### vX.Y.Z
- Feature: 簡短描述新功能
- Fix: 簡短描述錯誤修復
- Improvement: 簡短描述增強
- Docs: 簡短描述文件變更
3. 更新版本並建置 Registry
- 將
./package.json更新為新版本。 - 執行:
npm run registry:build
- 如果建置失敗,請停止並先修復根本問題再繼續。
4. 提交並推送發布
- 審查發布差異。
- 使用以下指令提交準備好的發布:
git commit -am "chore: vX.Y.Z"
- 將提交推送至
master。 - 如果儲存庫落後於遠端或推送失敗,請先解決此狀態再繼續。
5. 起草 GitHub Release
- 從 CHANGELOG 摘要和最近的提交建立發布說明。
- 使用
xdg-open或其他系統層級的開啟指令開啟此 URL,絕不在內部瀏覽器中開啟:
https://github.com/everlier/remotion-bits/releases/new?tag=vX.Y.Z&target=master&title=vX.Y.Z&body=...
-
預填表單:
tag:vX.Y.Ztarget:mastertitle:vX.Y.Zprerelease:false
-
發布內容應遵循此結構:
## What's Changed
- 每個 notable 新功能一個簡短句子。
- 每個 notable 錯誤修復一個簡短句子。
- 每個 notable 改進一個簡短句子。
**Full Changelog**:https://github.com/everlier/remotion-bits/compare/vX.Y.(Z-1)...vX.Y.Z
- 如果需要瀏覽器確認,請暫停等待使用者發布 GitHub Release。
6. 部署文件
- GitHub Release 發布後,執行:
./scripts/deploy-docs.sh
7. 發布至 npm
- 確認 npm 驗證資訊可用。
- 從儲存庫根目錄發布:
npm publish
決策規則
- 除非使用者另有說明,否則預設進行 patch 發布。
- 如果發布說明不清楚,請先從提交歷史中推導,再詢問使用者。
- 如果指令會修改發布產物,請將這些產生的變更保留在發布提交中。
- 如果發布需要手動瀏覽器步驟,請在邊界處停止,明確告知使用者等待內容,然後在使用者確認後繼續。
- 如果缺少 GitHub、Cloudflare 或 npm 的憑證,請停止並報告缺少的必要條件,而不是盲目重試。
完成檢查清單
package.json包含目標版本。CHANGELOG.md包含該版本的最頂層新區塊。npm run registry:build已成功完成。- 已建立發布提交
chore: vX.Y.Z並推送至master。 - 已使用正確的預填值開啟 GitHub Release 表單。
- 文件部署已完成。
npm publish已成功完成。