This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/master by this push:
new b536cad docs: Add release flow section in Release Guide (#143)
b536cad is described below
commit b536cad6467fc0205a7405830ef23d2e8b5bf4f4
Author: Joey <[email protected]>
AuthorDate: Sun Jan 17 12:19:40 2021 +0800
docs: Add release flow section in Release Guide (#143)
* Add release flow section in Release Guide
Signed-off-by: imjoey <[email protected]>
* Revise by advices from juzhiyuan
Signed-off-by: imjoey <[email protected]>
---
docs/release-guide.md | 37 ++++++++++++++++++++++++++++++++++++
website/static/img/release_flow.png | Bin 0 -> 76099 bytes
2 files changed, 37 insertions(+)
diff --git a/docs/release-guide.md b/docs/release-guide.md
index 002ed39..a032979 100644
--- a/docs/release-guide.md
+++ b/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.
+
+
+
+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 dev 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 on the issues targeted to release
milestone.
+- Every single new issue is required to be recognized if it 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 the `master` branch, which is also considered as the start of the
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
the `master` branch first. Afterward, it will be backported to the new release
branch if the relevant pull request is with the `need backport` label attached.
+- At the end of the 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 the security and critical bug patches backported from the `master`
branch. A new version will be released 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.
+
## GPG Settings
### Install GPG
diff --git a/website/static/img/release_flow.png
b/website/static/img/release_flow.png
new file mode 100644
index 0000000..0d556f4
Binary files /dev/null and b/website/static/img/release_flow.png differ