bipinprasad commented on code in PR #3568: URL: https://github.com/apache/storm/pull/3568#discussion_r1295704590
########## RELEASING.md: ########## @@ -21,41 +21,50 @@ 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 [release policy](http://www.apache.org/legal/release-policy.html) pages. -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. +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). Review Comment: Good idea. Adding it. -- 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. To unsubscribe, e-mail: dev-unsubscr...@storm.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org