mirror of
https://github.com/Minidoracat/mcp-feedback-enhanced.git
synced 2025-07-27 02:22:26 +08:00
148 lines
5.2 KiB
Markdown
148 lines
5.2 KiB
Markdown
# 簡化發布流程 / Simplified Release Workflow
|
||
|
||
## 🎯 概述 / Overview
|
||
|
||
此專案已採用簡化的發布流程,不再需要建立版本化目錄(如 `v2.3.0/`),而是直接更新 CHANGELOG 文件。
|
||
|
||
This project now uses a simplified release workflow that no longer requires creating versioned directories (like `v2.3.0/`), but instead directly updates CHANGELOG files.
|
||
|
||
## 📋 新的發布流程 / New Release Process
|
||
|
||
### 1. 更新 CHANGELOG 文件 / Update CHANGELOG Files
|
||
|
||
在發布前,請手動更新以下三個文件:
|
||
Before releasing, manually update these three files:
|
||
|
||
- `RELEASE_NOTES/CHANGELOG.en.md`
|
||
- `RELEASE_NOTES/CHANGELOG.zh-TW.md`
|
||
- `RELEASE_NOTES/CHANGELOG.zh-CN.md`
|
||
|
||
### 2. CHANGELOG 格式要求 / CHANGELOG Format Requirements
|
||
|
||
每個新版本應該按照以下格式添加到 CHANGELOG 文件的頂部:
|
||
Each new version should be added to the top of CHANGELOG files in this format:
|
||
|
||
```markdown
|
||
## [v2.3.0] - 版本標題 / Version Title
|
||
|
||
### 🌟 亮點 / Highlights
|
||
本次發佈的主要特色...
|
||
|
||
### ✨ 新功能 / New Features
|
||
- 🆕 **功能名稱**: 功能描述
|
||
|
||
### 🐛 錯誤修復 / Bug Fixes
|
||
- 🔧 **問題修復**: 修復描述
|
||
|
||
### 🚀 改進功能 / Improvements
|
||
- ⚡ **效能優化**: 優化描述
|
||
|
||
---
|
||
```
|
||
|
||
### 3. 執行發布 / Execute Release
|
||
|
||
1. 確保所有 CHANGELOG 文件都已更新
|
||
Ensure all CHANGELOG files are updated
|
||
|
||
2. 前往 GitHub Actions 頁面
|
||
Go to GitHub Actions page
|
||
|
||
3. 執行 "Auto Release to PyPI" workflow
|
||
Run "Auto Release to PyPI" workflow
|
||
|
||
4. 選擇版本類型(patch/minor/major)
|
||
Select version type (patch/minor/major)
|
||
|
||
### 📊 版本類型說明 / Version Type Explanation
|
||
|
||
選擇適當的版本類型非常重要,請根據變更內容選擇:
|
||
Choosing the appropriate version type is important, select based on the changes:
|
||
|
||
#### 🔧 Patch (修補版本)
|
||
- **用途 / Usage**: 錯誤修復、小幅改進、安全修補
|
||
- **範例 / Example**: `2.3.0 → 2.3.1`
|
||
- **適用情況 / When to use**:
|
||
- 🐛 修復 bug / Bug fixes
|
||
- 🔒 安全性修補 / Security patches
|
||
- 📝 文檔更新 / Documentation updates
|
||
- 🎨 小幅 UI 調整 / Minor UI tweaks
|
||
|
||
#### ✨ Minor (次要版本)
|
||
- **用途 / Usage**: 新功能、功能增強、向後相容的變更
|
||
- **範例 / Example**: `2.3.0 → 2.4.0`
|
||
- **適用情況 / When to use**:
|
||
- 🆕 新增功能 / New features
|
||
- 🚀 功能增強 / Feature enhancements
|
||
- 🎯 效能改進 / Performance improvements
|
||
- 🌐 新的語言支援 / New language support
|
||
|
||
#### 🚨 Major (主要版本)
|
||
- **用途 / Usage**: 重大變更、不向後相容的修改、架構重構
|
||
- **範例 / Example**: `2.3.0 → 3.0.0`
|
||
- **適用情況 / When to use**:
|
||
- 💥 破壞性變更 / Breaking changes
|
||
- 🏗️ 架構重構 / Architecture refactoring
|
||
- 🔄 API 變更 / API changes
|
||
- 📦 依賴項重大更新 / Major dependency updates
|
||
|
||
#### 🤔 如何選擇 / How to Choose
|
||
|
||
**問自己這些問題 / Ask yourself these questions**:
|
||
|
||
1. **會破壞現有功能嗎?** / **Will it break existing functionality?**
|
||
- 是 / Yes → Major
|
||
- 否 / No → 繼續下一個問題 / Continue to next question
|
||
|
||
2. **是否新增了功能?** / **Does it add new functionality?**
|
||
- 是 / Yes → Minor
|
||
- 否 / No → 繼續下一個問題 / Continue to next question
|
||
|
||
3. **只是修復或小幅改進?** / **Just fixes or minor improvements?**
|
||
- 是 / Yes → Patch
|
||
|
||
## 🔄 自動化流程 / Automated Process
|
||
|
||
GitHub workflow 將自動:
|
||
The GitHub workflow will automatically:
|
||
|
||
1. ✅ 版本號碼升級 / Version bump
|
||
2. ✅ 從 CHANGELOG 提取亮點 / Extract highlights from CHANGELOG
|
||
3. ✅ 生成多語系 GitHub Release / Generate multi-language GitHub Release
|
||
4. ✅ 發布到 PyPI / Publish to PyPI
|
||
5. ✅ 建立 Git 標籤 / Create Git tags
|
||
|
||
## 📦 GitHub Release 格式 / GitHub Release Format
|
||
|
||
自動生成的 Release 將包含:
|
||
Auto-generated releases will include:
|
||
|
||
- 🌟 版本亮點 / Version highlights
|
||
- 🌐 多語系 CHANGELOG 連結 / Multi-language CHANGELOG links
|
||
- 📦 安裝指令 / Installation commands
|
||
- 🔗 相關連結 / Related links
|
||
|
||
## ⚠️ 注意事項 / Important Notes
|
||
|
||
1. **不再需要版本目錄**:舊的 `RELEASE_NOTES/v2.x.x/` 目錄結構已棄用
|
||
**No more version directories**: Old `RELEASE_NOTES/v2.x.x/` directory structure is deprecated
|
||
|
||
2. **手動更新 CHANGELOG**:發布前必須手動更新 CHANGELOG 文件
|
||
**Manual CHANGELOG updates**: CHANGELOG files must be manually updated before release
|
||
|
||
3. **格式一致性**:請保持 CHANGELOG 格式的一致性以確保自動提取正常運作
|
||
**Format consistency**: Maintain CHANGELOG format consistency for proper auto-extraction
|
||
|
||
## 🗂️ 舊版本目錄清理 / Old Version Directory Cleanup
|
||
|
||
現有的版本目錄(`v2.2.1` 到 `v2.2.5`)可以選擇性保留作為歷史記錄,或者清理以簡化專案結構。
|
||
|
||
Existing version directories (`v2.2.1` to `v2.2.5`) can optionally be kept for historical records or cleaned up to simplify project structure.
|
||
|
||
## 🚀 優點 / Benefits
|
||
|
||
- ✅ 減少維護負擔 / Reduced maintenance burden
|
||
- ✅ 單一真實來源 / Single source of truth
|
||
- ✅ 簡化的專案結構 / Simplified project structure
|
||
- ✅ 自動化的 Release 生成 / Automated release generation
|