From ac36a560fbbdc2229e7f862558b325e803f4ebef Mon Sep 17 00:00:00 2001
From: Him188 <Him188@mamoe.net>
Date: Wed, 25 Nov 2020 18:13:52 +0800
Subject: [PATCH] Update publishing guides

---
 docs/Contributing.md | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/docs/Contributing.md b/docs/Contributing.md
index f4e4befbb..92595d39b 100644
--- a/docs/Contributing.md
+++ b/docs/Contributing.md
@@ -26,7 +26,35 @@ Mirai Console 项目由四个模块组成:后端,前端,Gradle 插件,In
 
 ### 构建
 ```shell script
-gradlew build
+./gradlew build
 ```
 
-首次加载和构建 mirai-console 项目可能要花费数小时时间。
\ No newline at end of file
+首次加载和构建 mirai-console 项目可能要花费数小时时间。
+
+### 发布版本
+
+(针对拥有 Mirai Console write 权限的项目成员)
+
+若你要发布一个 Mirai Console dev release:
+
+1. 更新 buildSrc/Versions.kt 中 `project` 版本号为目标版本;
+2. 本地执行 `./gradlew fillBuildConstants`;
+3. Push 第 1,2 步的修改为同一个 commit,commit 备注为版本号名称,如 `1.0.1-dev-1`;
+4. 添加 Git 版本号 tag,格式为 `1.0.1-dev-1`(不带 `v`);
+5. `git push --tags` 推送 tag 更新,GitHub Actions 将会检测到 tag 更新并执行 JCenter 发布。
+
+
+若你要发布一个 Mirai Console 稳定版 release,请按顺序进行如下检查:
+
+
+1. 在 GitHub [milestones](https://github.com/mamoe/mirai-console/milestones) 确认目标版本的工作已经处理完毕;
+2. Close milestone;
+3. 更新 buildSrc/Versions.kt 中 `project` 版本号为目标版本;
+4. 在 [ConfiguringProjects](ConfiguringProjects.md#选择版本) 更新稳定版本号;
+5. 本地执行 `./gradlew fillBuildConstants`;
+6. Push 前几步的修改为同一个 commit,commit 备注为版本号名称,如 `1.1.0`;
+7. 在 GitHub release 根据 Git commit 记录编写更新记录:
+   - 描述所有来自社区的 PR 记录;
+   - 完整列举公开 API 的任何变动,简要描述或省略内部变动;
+   - 为更改按 “后端”,“前端”,“IDE 插件”,“Gradle 插件” 分类;
+8. 点击 `Publish`。GitHub Actions 将会检测到 tag 更新并执行 JCenter 发布。