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

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


The following commit(s) were added to refs/heads/master by this push:
     new d1d0e1bd8 [STORM-3953] Update releasing document. (#3568)
d1d0e1bd8 is described below

commit d1d0e1bd8812cc095e6f2ef1ff18dd4a7fb8c572
Author: Bipin Prasad <[email protected]>
AuthorDate: Thu Aug 17 03:16:10 2023 -0700

    [STORM-3953] Update releasing document. (#3568)
---
 RELEASING.md | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 145 insertions(+), 21 deletions(-)

diff --git a/RELEASING.md b/RELEASING.md
index d35231607..3868896dc 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -21,53 +21,127 @@ Install an svn client, and ensure you can access the 
https://dist.apache.org/rep
 
 Ensure you have a signed GPG key, and that the GPG key is listed in the Storm 
KEYS file at https://dist.apache.org/repos/dist/release/storm/KEYS. The key 
should be hooked into the Apache web of trust. You should read the [Apache 
release signing page](http://www.apache.org/dev/release-signing.html), the 
[release distribution 
page](http://www.apache.org/dev/release-distribution.html#sigs-and-sums), as 
well as the [release publishing](http://www.apache.org/dev/release-publishing) 
and [relea [...]
 
-If you are setting up a new MINOR version release, create a new branch based 
on `master` branch, e.g. `2.2.x-branch`. Then on master branch, set the version 
to a higher MINOR version (with SNAPSHOT), e.g. `mvn versions:set 
-DnewVersion=2.3.0-SNAPSHOT -P dist,rat,externals,examples`.
-In this way, you create a new release line and then you can create PATCH 
version releases from it, e.g. `2.2.0`.
+If you are setting up a new MINOR version release, create a new branch based 
on `master` branch, e.g. `2.6.x-branch`. Then on master branch, set the version 
to a higher MINOR version (with SNAPSHOT), e.g. `mvn versions:set 
-DnewVersion=2.3.0-SNAPSHOT -P dist,rat,externals,examples`.
+In this way, you create a new release line and then you can create PATCH 
version releases from it, e.g. `2.6.0`.
 
 ## Setting up a vote
 
-0. Checkout to the branch to be released.
+1. Checkout to the branch to be released.
 
-1. Run `mvn release:prepare -P dist,rat,externals,examples` followed `mvn 
release:perform -P dist,rat,externals,examples`. This will create all the 
artifacts that will eventually be available in maven central. This step may 
seem simple, but a lot can go wrong (mainly flaky tests). 
-Note that this will create and push two commits with the commit message 
starting with "[maven-release-plugin]" and it will also create and publish a 
git tag, e.g. `v2.2.0`.
+2. Run `mvn release:prepare -P dist,rat,externals,examples` followed `mvn 
release:perform -P dist,rat,externals,examples`. 
+This will create all the artifacts that will eventually be available in maven 
central. This step may seem simple, 
+but a lot can go wrong (mainly flaky tests). Note that this will create and 
push two commits with the commit message 
+starting with "[maven-release-plugin]" and it will also create and publish a 
git tag, e.g. `v2.6.0`.
 
-2. Once you get a successful maven release, a “staging repository” will be 
created at http://repository.apache.org in the “open” state, meaning it is 
still writable. You will need to close it, making it read-only. You can find 
more information on this step 
[here](www.apache.org/dev/publishing-maven-artifacts.html).
+3. Once you get a successful maven release, a “staging repository” will be 
created at http://repository.apache.org 
+in the “open” state, meaning it is still writable. You will need to close it, 
making it read-only. You can find more 
+information on this step 
[here](www.apache.org/dev/publishing-maven-artifacts.html).
 
-3. Checkout to the git tag that was published by Step 1 above, e.g. `git 
checkout tags/v2.2.0 -b v2.2.0`. Run `mvn package` for `storm-dist/binary` and 
`storm-dist/source` to create the actual distributions.
+4. Checkout to the git tag that was published by Step 1 above, e.g. `git 
checkout tags/v2.6.0 -b v2.6.0`. 
+Then build it with `mvn clean install -DskipTests`. Run `mvn package` for 
`storm-dist/binary` and `storm-dist/source` 
+to create the actual distributions.
 
-4. Generate checksums for the *.tar.gz and *.zip distribution files, e.g.
+5. Generate checksums for the *.tar.gz and *.zip distribution files, e.g.
 ```bash
-cd storm-dist/source/target
-gpg --print-md SHA512 apache-storm-2.2.0-src.zip > 
apache-storm-2.2.0-src.zip.sha512
-gpg --print-md SHA512 apache-storm-2.2.0-src.tar.gz > 
apache-storm-2.2.0-src.tar.gz.sha512
-
-cd storm-dist/binary/final-package/target
-gpg --print-md SHA512 apache-storm-2.2.0.zip > apache-storm-2.2.0.zip.sha512
-gpg --print-md SHA512 apache-storm-2.2.0.tar.gz > 
apache-storm-2.2.0.tar.gz.sha512
+pushd storm-dist/source/target
+sha512sum apache-storm-2.6.0-src.zip > apache-storm-2.6.0-src.zip.sha512
+sha512sum apache-storm-2.6.0-src.tar.gz > apache-storm-2.6.0-src.tar.gz.sha512
+popd
+
+pushd storm-dist/binary/final-package/target
+gpg --print-md SHA512 apache-storm-2.6.0.zip > apache-storm-2.6.0.zip.sha512
+gpg --print-md SHA512 apache-storm-2.6.0.tar.gz > 
apache-storm-2.6.0.tar.gz.sha512
+popd
 ```
 
 5. Create a directory in the dist svn repo for the release candidate: 
https://dist.apache.org/repos/dist/dev/storm/apache-storm-x.x.x-rcx
 
 6. Run `dev-tools/release_notes.py` for the release version, piping the output 
to a RELEASE_NOTES.html file. Move that file to the svn release directory, sign 
it, and generate checksums, e.g.
 ```bash
-python3 dev-tools/release_notes.py 2.2.0 > RELEASE_NOTES.html
+python3 dev-tools/release_notes.py 2.6.0 > RELEASE_NOTES.html
 gpg --armor --output RELEASE_NOTES.html.asc --detach-sig RELEASE_NOTES.html
-gpg --print-md SHA512 RELEASE_NOTES.html > RELEASE_NOTES.html.sha512
+sha512sum RELEASE_NOTES.html > RELEASE_NOTES.html.sha512
+```
+
+7. Move the release files from Step 4 and 6 to the svn directory from Step 5. 
Add and commit the files. 
+This makes them available in the Apache staging repo.
+
+8. Start the VOTE thread. The vote should follow the [ASF voting 
process](https://www.apache.org/foundation/voting.html). 
+Sample Template sent to [email protected]
+
 ```
+Subject: [VOTE] Release Apache Storm [VERSION]] (rcN)
+
+Hi folks,
+
+I have posted a [Nth] release candidate for the Apache Storm [VERSION] release 
and it is ready for testing.
+
+The Nexus staging repository is here:
+    
https://repository.apache.org/content/repositories/orgapachestorm-[REPO_NUM]
+
+Storm Source and Binary Release with sha512 signature files are here:
+    https://dist.apache.org/repos/dist/dev/storm/apache-storm-[VERSION]-rcN/
+The release artifacts are signed with the following key:
+    
https://keyserver.ubuntu.com/pks/lookup?op=index&fingerprint=on&search=[KEY]
+    in this file https://www.apache.org/dist/storm/KEYS
+
+The release was made from the Apache Storm [VERSION] tag at:
+    https://github.com/apache/storm/tree/v[VERSION]
+
+Full list of changes in this release: 
+    
https://dist.apache.org/repos/dist/dev/storm/apache-storm-[VERSION]-rcN/RELEASE_NOTES.html
 
-7. Move the release files from Step 4 and 6 to the svn directory from Step 5. 
Add and commit the files. This makes them available in the Apache staging repo.
+To use it in a maven build set the version for Storm to [VERSION] and add the 
following URL to your settings.xml file:
+https://repository.apache.org/content/repositories/orgapachestorm-[REPO_NUM]
+
+The release was made using the Storm release process, documented on the GitHub 
repository:
+https://github.com/apache/storm/blob/master/RELEASING.md
+
+Please vote on releasing these packages as Apache Storm [VERSION]. The vote is 
open for at least the next 72 hours.
+"How to vote" is described here: 
https://github.com/apache/storm/blob/master/RELEASING.md#how-to-vote-on-a-release-candidate
+When voting, please list the actions taken to verify the release.
+
+Only votes from the Storm PMC are binding, but everyone is welcome to check 
the release candidate and vote.
+The vote passes if at least three binding +1 votes are cast.
+
+[ ] +1 Release this package as Apache Storm [VERSION]
+[ ]  0 No opinion
+[ ] -1 Do not release this package because...
+
+Thanks to everyone who contributed to this release.
+
+Thanks!
+[Release Manager Name]
+```
 
-8. Start the VOTE thread. The vote should follow the [ASF voting 
process](https://www.apache.org/foundation/voting.html).
 
 ## Releasing if the vote succeeds
 
+0. Announce the results. Use the following template.
+```agsl
+Subject: [VOTE][RESULT] Storm [VERSION] Release Candidate [N]
+
+Storm [VERSION] RC-N was approved for release with [m] binding +1 and [n] 
non-binding +1.
+
+Storm [VERSION] release artifacts are available in Maven Central Repository.
+
+ Release is available here 
https://dist.apache.org/repos/dist/release/storm/apache-storm-[VERSION]
+ Release notes are here: 
https://dist.apache.org/repos/dist/release/storm/apache-storm-[VERSION]/RELEASE_NOTES.html
+ Also see: https://storm.apache.org for updated information on this [VERSION] 
and prior releases.
+
+Thanks to everyone who contributed to this release.
+
+[RELEASE MANAGER NAME]
+```
 1. `svn mv https://dist.apache.org/repos/dist/dev/storm/apache-storm-x.x.x-rcx 
https://dist.apache.org/repos/dist/release/storm/apache-storm-x.x.x`. This will 
make the release artifacts available on dist.apache.org and the artifacts will 
start replicating to mirrors.
 
 2. Go to http://repository.apache.org and release the staging repository
 
 3. Wait at least 24 hrs. for the mirrors to catch up.
 
-4. Check out the [storm-site](https://github.com/apache/storm-site) 
repository, and follow the README to generate release specific documentation 
for the site. Compose a new blog post announcement for the new release. Update 
the downloads page. Finally commit and push the site as described in the 
storm-site README to publish the site.
+4. Check out the [storm-site](https://github.com/apache/storm-site) 
repository, and follow the README to generate release specific documentation 
for 
+the site. Compose a new blog post announcement for the new release. Update the 
downloads page. Finally commit and push 
+the site as described in the storm-site README to publish the site.
 
 5. Announce the new release to [email protected], [email protected], 
and [email protected]. You will need to use your @apache.org email to do this.
 
@@ -75,16 +149,66 @@ gpg --print-md SHA512 RELEASE_NOTES.html > 
RELEASE_NOTES.html.sha512
 
 7. Delete any outdated releases from the storm-site releases directory, and 
republish the site.
 
-8. Tweet, promote, celebrate. ;)
+8. Tweet, promote, celebrate. ;) Annoucement email can be sent to 
[email protected] using the following template:
+```agsl
+Subject: [ANNOUNCE] Apache Storm [VERSION] Released
+
+The Apache Storm community is pleased to announce the release of Apache
+Storm version [VERSION].
+
+Apache Storm is a distributed, fault-tolerant, and high-performance
+realtime computation system that provides strong guarantees on the
+processing of data. You can read more about Apache Storm on the project
+website:
+
+https://storm.apache.org/
+
+Downloads of source and binary distributions are listed in our download
+section:
+
+https://storm.apache.org/downloads.html
+
+You can read more about this release in the following blog post:
+
+https://storm.apache.org/[YEAR]/[MONTH]/[DAY]/storm[VERSION]-released.html
+
+Distribution artifacts are available in Maven Central at the following
+coordinates:
+
+groupId: org.apache.storm
+artifactId: storm-{component}
+version: [VERSION]
+
+The full list of changes is available here[1]. Please let us know [2] if
+you encounter any problems.
+
+Regards,
+The Apache Storm Team
+
+[1] 
https://downloads.apache.org/storm/apache-storm-[VERSION]/RELEASE_NOTES.html
+[2] https://issues.apache.org/jira/browse/STORM
+```
 
 ## Cleaning up if the vote fails
 
+0. Sent email to [email protected] 
+
 1. Go to http://repository.apache.org and drop the staging repository.
 
 2. Delete the staged distribution files from 
https://dist.apache.org/repos/dist/dev/storm/
 
 3. Delete the git tag.
 
+4. Send a [VOTE][CANCELED] message using the following format:
+```agsl
+Subject: [VOTE][CANCELED] Storm [VERSION] Release Candidate [N]
+
+This release candidate Storm Release candidate [VERSION] rcN 
https://dist.apache.org/repos/dist/dev/storm/apache-storm-[VERSION]-rcN/ has 
been canceled.
+New vote request will be sent out on RC[N+1] with further updates.
+
+[RELEASE MANAGER NAME]
+```
+
 # How to vote on a release candidate
 
 We encourage everyone to review and vote on a release candidate to make an 
Apache Storm release more reliable and trustworthy.

Reply via email to