juzhiyuan commented on a change in pull request #143:
URL: https://github.com/apache/apisix-website/pull/143#discussion_r558897344



##########
File path: docs/release-guide.md
##########
@@ -3,6 +3,43 @@ id: release-guide
 title: Release Guide
 ---
 
+## Release Flow
+
+The release flow of Apache APISIX follows [GitLab 
flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html), instead of Git flow 
or Github flow. Furthermore, [Release branches with GitLab 
flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html#release-branches-with-gitlab-flow)
 is the preferred way. The chart below will take the release `v2.3` of 
[apache/apisix-dashboard](https://github.com/apache/apisix-dashboard) as an 
example to illustrate the details.
+
+![Release Flow](/img/release_flow.png)
+
+The entire flow is comprised of the following four phases.
+
+### Planning Phase
+
+This phase will decide if a feature is ready to be released as well as the 
release time.
+
+- A new target milestone will be created in Github. (e.g. 
[`2.3`](https://github.com/apache/apisix-dashboard/milestone/6))
+- A discussion will be started on devel mailing list 
[[email protected]]([email protected]) for gathering ideas for the 
next release
+- Maintainer team will then mark the issues and pull requests with the target 
milestone
+
+### Development Phase
+
+This phase is for deveoping new features and fix bugs.
+
+- Maintainer team and contributors will work for the issues targeted to 
release milestone
+- Every single new issue is required to be recognized if should be included in 
the next release. If yes, the milestone needs to be set for the issue
+
+### Release Phase
+
+This phase will be throughout the entire Release Time Window.
+
+- A new branch (e.g. 
[`v2.3`](https://github.com/apache/apisix-dashboard/tree/v2.3)) for release is 
created from `master` branch, which is also considered as the start of Release 
Time Window
+- Set corresponding configurations for the new release branch, please see the 
chart above for details
+- As complying with **Upstream first**, each commit needs to be merged into 
`master` branch first. Afterwards, it will be backported to the new release 
branch if the relevant pull request is with `need backport` label attached
+- At the end of Release Time Window, the `CHANGELOG` for the new release will 
be added
+- Tag the last commit and release the assets via the following section [GPG 
Settings](#gpg-settings)
+
+### Maintenance Phase
+
+Once a version is released, it will enter the maintenance mode and will only 
accpet security and critical bug patches backported from `master` branch. A new 
version will be release soon after significant bugs got fixed, with patch 
version increment (e.g. `2.3.1`). In this case, all users are recommended to 
upgrade to the latest release to avoid potential risk to the stability.

Review comment:
       
![image](https://user-images.githubusercontent.com/2106987/104813956-49dbdc80-5847-11eb-8090-57da674b0d85.png)
   
   You could safely use commit suggestion if it's ok :)




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to