From 854be098e0e1a7d3090c020778dffa73b72ec447 Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 14:53:07 +0900 Subject: [PATCH 1/8] Add the preparation section in create-a-release.md Refer to https://github.com/apache/kvrocks/discussions/1540. --- community/create-a-release.md | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/community/create-a-release.md b/community/create-a-release.md index 5d247420..f48654d5 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -18,6 +18,56 @@ Please remember that publishing software has legal consequences. This guide comp * [Release Distribution Policy](https://infra.apache.org/release-distribution) * [Release Creation Process](https://infra.apache.org/release-publishing.html) +## Prepare + +Before the formal release process, in order to ensure that the version release is more open and formal, we have formulated the following process. +For Feature Release, this preparation process usually takes one week or more. + +### Release Manager + +The first step to release a version is to select a Release Manager, who will drive the entire process. + +The Release Manager is usually chosen from PMC members or committers, based on voluntary registration. +However, if there are other contributors who have a strong desire to participate in the release process and no PMC member objects, +the Release Manager can be selected from among them. + +If no one has a strong willingness to take on the role of Release Manager and a release is needed at this time, +a person should be selected from among the PMC members to assume this responsibility. + +### Propose a release + +Once the Release Manager is determined, the first step is to create a Release Proposal and make it public on the community's mailing list or GitHub Discussion. + +The Release Proposal should include at least the following: +- Whether this release is a Feature Release or Patch Release (to be explained later) +- The release version number +- The commits added in this release compared to the previous version (please indicate whether rebase/cherry-pick is needed to remove commits from or add commits to the unstable branch) +- A deadline for cherry-picking period (only applicable to Feature Releases) + +Where: +Feature Release: Typically denoted as `X.Y.0`, this type of release introduces new features along with other enhancements and bug fixes. +Patch Release: Usually represented as `X.Y.Z`, this type of release is based on the version `X.Y.0` and includes only bug-fix patches without any new features. + +### Create the release branch + +If no one objects to the Release Proposal in the previous step, the Release Manager can create a new branch `X.Y` (Patch Releases do not need to create a branch and can directly use the existing release branch `X.Y`). + +The Release Manager can determine the deadline for publicizing the Release Proposal on their own, which is usually one to three days. + +### The cherry-picking period + +For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for one week. The Release Manager will provide the deadline in the Release Proposal. + +During this period, newly merged bug fixes (especially those related to security) in the unstable branch will be unconditionally cherry-picked into the release branch, +while other types of commits (especially new features) need to declare specific reasons and reply to the Release Proposal to apply for cherry-picking into the release branch. The final decision-making power lies with the Release Manager. + +Patch Releases do not require this process. + +### Start the official release vote + +After the cherry-picking period, the Release Manager can proceed with the formal release process, +which will be described in the following sections. + ## Adding GPG KEY This section is a brief from the [Cryptography with OpenPGP](https://infra.apache.org/openpgp.html) guideline. From c49878920c09d843f9478efdbda7037b4c338b0d Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 14:56:39 +0900 Subject: [PATCH 2/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index f48654d5..c7677f19 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -21,7 +21,7 @@ Please remember that publishing software has legal consequences. This guide comp ## Prepare Before the formal release process, in order to ensure that the version release is more open and formal, we have formulated the following process. -For Feature Release, this preparation process usually takes one week or more. +For Feature Release, this preparation process usually takes about one week. ### Release Manager From 5452c4d7d66d9955f00e73620c2a5eeba39f896b Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 14:56:52 +0900 Subject: [PATCH 3/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index c7677f19..9fde53ec 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -18,7 +18,7 @@ Please remember that publishing software has legal consequences. This guide comp * [Release Distribution Policy](https://infra.apache.org/release-distribution) * [Release Creation Process](https://infra.apache.org/release-publishing.html) -## Prepare +## Preparation Before the formal release process, in order to ensure that the version release is more open and formal, we have formulated the following process. For Feature Release, this preparation process usually takes about one week. From 265dea4a35035d1acd9b16e53b2c23a65f6265a1 Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 14:58:33 +0900 Subject: [PATCH 4/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index 9fde53ec..230c1214 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -56,7 +56,7 @@ The Release Manager can determine the deadline for publicizing the Release Propo ### The cherry-picking period -For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for one week. The Release Manager will provide the deadline in the Release Proposal. +For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for 5 days to one week. The Release Manager will provide the deadline in the Release Proposal. During this period, newly merged bug fixes (especially those related to security) in the unstable branch will be unconditionally cherry-picked into the release branch, while other types of commits (especially new features) need to declare specific reasons and reply to the Release Proposal to apply for cherry-picking into the release branch. The final decision-making power lies with the Release Manager. From 629c432a5260140003a38b7bdf2a62466b25217f Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 14:59:39 +0900 Subject: [PATCH 5/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index 230c1214..1bc93ef2 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -65,7 +65,7 @@ Patch Releases do not require this process. ### Start the official release vote -After the cherry-picking period, the Release Manager can proceed with the formal release process, +After the cherry-picking period, the Release Manager can proceed with the ASF release process, which will be described in the following sections. ## Adding GPG KEY From 207f2c0c2efa24ce5dba115e5281a35725d84f20 Mon Sep 17 00:00:00 2001 From: Twice Date: Tue, 12 Sep 2023 15:01:59 +0900 Subject: [PATCH 6/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index 1bc93ef2..37db2ed4 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -20,7 +20,7 @@ Please remember that publishing software has legal consequences. This guide comp ## Preparation -Before the formal release process, in order to ensure that the version release is more open and formal, we have formulated the following process. +Before the ASF release process, in order to ensure that the version release is more open and formal, we have formulated the following process. For Feature Release, this preparation process usually takes about one week. ### Release Manager From 7b883c2bf4ab78a298ebe9d3ddeb1a50537cbab0 Mon Sep 17 00:00:00 2001 From: Twice Date: Wed, 13 Sep 2023 22:51:01 +0900 Subject: [PATCH 7/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index 37db2ed4..86b70c28 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -56,7 +56,7 @@ The Release Manager can determine the deadline for publicizing the Release Propo ### The cherry-picking period -For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for 5 days to one week. The Release Manager will provide the deadline in the Release Proposal. +For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for 3 days to one week. The Release Manager will provide the deadline in the Release Proposal. During this period, newly merged bug fixes (especially those related to security) in the unstable branch will be unconditionally cherry-picked into the release branch, while other types of commits (especially new features) need to declare specific reasons and reply to the Release Proposal to apply for cherry-picking into the release branch. The final decision-making power lies with the Release Manager. From 12d2a4270f1ad3728601ff5bc9fcbd7435a1255e Mon Sep 17 00:00:00 2001 From: Twice Date: Thu, 14 Sep 2023 10:11:33 +0900 Subject: [PATCH 8/8] Update community/create-a-release.md --- community/create-a-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/create-a-release.md b/community/create-a-release.md index 86b70c28..7083e808 100644 --- a/community/create-a-release.md +++ b/community/create-a-release.md @@ -56,7 +56,7 @@ The Release Manager can determine the deadline for publicizing the Release Propo ### The cherry-picking period -For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting for 3 days to one week. The Release Manager will provide the deadline in the Release Proposal. +For Feature Release, after creating a new branch, it will enter a cherry-picking period, usually lasting from 3 days to one week. The Release Manager will provide the deadline in the Release Proposal. During this period, newly merged bug fixes (especially those related to security) in the unstable branch will be unconditionally cherry-picked into the release branch, while other types of commits (especially new features) need to declare specific reasons and reply to the Release Proposal to apply for cherry-picking into the release branch. The final decision-making power lies with the Release Manager.