This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new ee6d923  ISSUE #689: improve release guide for minor versions
ee6d923 is described below

commit ee6d9233ae69433d198cb043700a538c4a7b0cbd
Author: eolivelli <[email protected]>
AuthorDate: Mon Dec 4 10:28:43 2017 -0800

    ISSUE #689: improve release guide for minor versions
    
    Author: eolivelli <[email protected]>
    
    Reviewers: Jia Zhai <None>, Sijie Guo <[email protected]>
    
    This closes #777 from eolivelli/improve-guide-minor, closes #689
---
 site/community/release_guide.md | 67 +++++++++++++++++++++++++++--------------
 1 file changed, 44 insertions(+), 23 deletions(-)

diff --git a/site/community/release_guide.md b/site/community/release_guide.md
index 23c54ee..962d7e5 100644
--- a/site/community/release_guide.md
+++ b/site/community/release_guide.md
@@ -134,14 +134,14 @@ Configure access to the [Apache Nexus 
repository](http://repository.apache.org/)
           </servers>
         </settings>
 
-### Create a new version in JIRA and Github
+### Create a new version in Github
 
-When contributors resolve an issue in JIRA, they are tagging it with a release 
that will contain their changes. With the release currently underway, new 
issues should be resolved against a subsequent future release. Therefore, you 
should create a release item for this subsequent release, as follows:
+When contributors resolve an issue in GitHub, they are tagging it with a 
release that will contain their changes. With the release currently underway, 
new issues should be resolved against a subsequent future release. Therefore, 
you should create a release item for this subsequent release, as follows:
 
-1. In JIRA, navigate to the [`BookKeeper > Administration > 
Versions`](https://issues.apache.org/jira/plugins/servlet/project-config/BOOKKEEPER/versions).
-2. Add a new release: choose the next minor version number compared to the one 
currently underway, select today’s date as the `Start Date`, and choose `Add`.
-3. In Github, navigate to the [`Issues > 
Milestones`](https://github.com/apache/bookkeeper/milestones).
-4. Add a new milestone: choose the next minor version number compared to the 
one currently underway, select a day that is 3-months from now as the `Due 
Date`, write a description `Release x.y.z` and choose `Create milestone`.
+1. In Github, navigate to the [`Issues > 
Milestones`](https://github.com/apache/bookkeeper/milestones).
+2. Add a new milestone: choose the next minor version number compared to the 
one currently underway, select a day that is 3-months from now as the `Due 
Date`, write a description `Release x.y.z` and choose `Create milestone`.
+
+Skip this step in case of a minor release, as milestones are only for major 
releases.
 
 ### Triage release-blocking issues in JIRA and Github
 
@@ -195,7 +195,7 @@ After review the release notes on both JIRA and Github, you 
should write a `rele
 
 [4.5.0 Release Notes](https://github.com/apache/bookkeeper/pull/402) is a good 
example to follow.
 
-### Create a release branch
+### Prepare release branch
 
 Release candidates are built from a release branch. As a final step in 
preparation for the release, you should create the release branch, push it to 
the code repository, and update version information on the original branch.
 
@@ -206,15 +206,25 @@ Check out the version of the codebase from which you 
start the release. For a ne
 
 Set up a few environment variables to simplify Maven commands that follow. (We 
use `bash` Unix syntax in this guide.)
 
+For a major release (for instance 4.5.0):
+
     MAJOR_VERSION="4.5"
     VERSION="4.5.0"
     NEXT_VERSION="4.6.0"
     BRANCH_NAME="branch-${MAJOR_VERSION}"
     DEVELOPMENT_VERSION="${NEXT_VERSION}-SNAPSHOT"
 
+For a minor release (for instance 4.5.1):
+
+    MAJOR_VERSION="4.5"
+    VERSION="4.5.1"
+    NEXT_VERSION="4.5.2"
+    BRANCH_NAME="branch-${MAJOR_VERSION}"
+    DEVELOPMENT_VERSION="${NEXT_VERSION}-SNAPSHOT"
+
 Version represents the release currently underway, while next version 
specifies the anticipated next version to be released from that branch. 
Normally, 4.5.0 is followed by 4.6.0, while 4.5.0 is followed by 4.5.1.
 
-Use Maven release plugin to create the release branch and update the current 
branch to use the new development version. This command applies for the new 
major or minor version.
+If you are cutting a major release use Maven release plugin to create the 
release branch and update the current branch to use the new development 
version. This command applies for the new major or minor version.
 
 > This command automatically check in and tag your code in the code repository 
 > configured in the SCM.
 > It is recommended to do a "dry run" before executing the command. To "dry 
 > run", you can provide "-DdryRun"
@@ -234,21 +244,14 @@ Use Maven release plugin to create the release branch and 
update the current bra
 > $ git reset --hard apache/<master branch OR release tag>
 > $ git branch -D ${BRANCH_NAME}
 
-However, if you are doing an incremental/hotfix release, please run the 
following command after checking out the release tag of the release being 
patched.
-
-    mvn release:branch \
-        -DbranchName=${BRANCH_NAME} \
-        -DupdateWorkingCopyVersions=false \
-        -DupdateBranchVersions=true \
-        -DreleaseVersion="${VERSION}-SNAPSHOT" \
-        [-DdryRun]
-
 Check out the release branch.
 
     git checkout ${BRANCH_NAME}
 
 The rest of this guide assumes that commands are run in the root of a 
repository on `${BRANCH_NAME}` with the above environment variables set.
 
+Verify that pom.xml contains the correct VERSION, it should still end with the 
'-SNAPSHOT' suffix.
+
 ### Checklist to proceed to the next step
 
 1. Release Manager’s GPG key is published to `dist.apache.org`
@@ -353,7 +356,7 @@ Copy the source release to the dev repository of 
`dist.apache.org`.
 ### Checklist to proceed to the next step
 
 1. Maven artifacts deployed to the staging repository of 
[repository.apache.org](https://repository.apache.org/content/repositories/)
-1. Source and Binary distribution deployed to the dev repository of 
[dist.apache.org](https://dist.apache.org/repos/dist/dev/incubator/bookkeeper/)
+1. Source and Binary distribution deployed to the dev repository of 
[dist.apache.org](https://dist.apache.org/repos/dist/dev/bookkeeper/)
 
 **********
 
@@ -378,10 +381,10 @@ Start the review-and-vote thread on the dev@ mailing 
list. Here’s an email tem
     * All artifacts to be deployed to the Maven Central Repository [3]
     * Source code tag "release-4.5.0" [4]
 
-    BookKeeper's KEY file contains PGP keys we use to sign this release:
+    BookKeeper's KEYS file contains PGP keys we used to sign this release:
     https://dist.apache.org/repos/dist/release/bookkeeper/KEYS
 
-    Please down this packages and review this release candidate:
+    Please download these packages and review this release candidate:
 
     - Review release notes
     - Download the source package (verify md5, shasum, and asc) and follow the
@@ -407,7 +410,7 @@ If there are any issues found in the release candidate, 
reply on the vote thread
 If there are no issues, reply on the vote thread to close the voting. Then, 
tally the votes in a separate email. Here’s an email template; please adjust as 
you see fit. (NOTE: the approver list are binding approvers.)
 
     From: Release Manager
-    To: [email protected]
+    To: [email protected]
     Subject: [RESULT] [VOTE] Release 0.4.0, release candidate #0
 
     I'm happy to announce that we have unanimously approved this release.
@@ -447,6 +450,18 @@ Once all issues have been resolved, you should go back and 
build a new release c
 
 Once the release candidate has been reviewed and approved by the community, 
the release should be finalized. This involves the final deployment of the 
release candidate to the release repositories, merging of the website changes, 
etc.
 
+### Advance version on release branch
+
+Use the Maven Release plugin in order to advance the version in all poms.
+
+> This command will upgrade the <version> tag on every pom.xml locally to your 
workspace.
+
+    mvn release:update-versions
+        -DdevelopmentVersion=${DEVELOPMENT_VERSION}
+
+For instance if you have released 4.5.1, you have to change version to 
4.5.2-SNAPSHOT.
+Then you have to create a PR and submit it for review.
+
 ### Deploy artifacts to Maven Central Repository
 
 Use the Apache Nexus repository to release the staged binary artifacts to the 
Maven Central repository. In the `Staging Repositories` section, find the 
relevant release candidate `orgapachebookkeeper-XXX` entry and click `Release`. 
Drop all other release candidates that are not being released.
@@ -506,7 +521,7 @@ In Github, inside 
[milestones](https://github.com/apache/bookkeeper/milestones),
 ### Checklist to proceed to the next step
 
 * Maven artifacts released and indexed in the [Maven Central 
Repository](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.bookkeeper%22)
-* Source and Binary distribution available in the release repository of 
[dist.apache.org](https://dist.apache.org/repos/dist/release/incubator/bookkeeper/)
+* Source and Binary distribution available in the release repository of 
[dist.apache.org](https://dist.apache.org/repos/dist/release/bookkeeper/)
 * Website is updated with new release
 * Docker image is built with new release
 * Release tagged in the source code repository
@@ -522,7 +537,9 @@ Once the release has been finalized, the last step of the 
process is to promote
 
 - Announce on the dev@ mailing list that the release has been finished.
 - Announce on the release on the user@ mailing list, listing major 
improvements and contributions.
-- Announce the release on the [email protected] mailing list.
+- Announce the release on the [email protected] mailing list
+
+Use the template below for all the messages.
 
 > NOTE: Make sure sending the announce email using apache email, otherwise 
 > [email protected] will reject your email.
 
@@ -561,10 +578,14 @@ Once the release has been finalized, the last step of the 
process is to promote
 
 Use reporter.apache.org to seed the information about the release into future 
project reports.
 
+This step can be done only by PMC.
+
 ### Social media
 
 Tweet, post on Facebook, LinkedIn, and other platforms. Ask other contributors 
to do the same.
 
+This step can be done only by PMC.
+
 ### Checklist to declare the process completed
 
 1. Release announced on the user@ mailing list.

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to