You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2020/04/28 22:22:55 UTC
svn commit: r39168 -
/dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md
Author: leerho
Date: Tue Apr 28 22:22:55 2020
New Revision: 39168
Log:
update Release Steps
Modified:
dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md
Modified: dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md
==============================================================================
--- dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md (original)
+++ dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md Tue Apr 28 22:22:55 2020
@@ -18,33 +18,36 @@
-->
# Apache Java Release Steps
+Note: this process covers major and minor releases only. Bug-fix releases are performed on a A.B.X branch and not on master, but otherwise is similar.
## Preparation
* Confirm correctness for
* LICENSE
- * NOTICE
+ * NOTICE -- check for copyright dates
* README.md
* .travis.yml
* .gitignore
* DISCLAIMER-WIP
* pom.xml
-* Code: clean and complete
- * Search for Deprecated code - Remove? From Command Line:
- * $ find . -name "*.java" -type f -print | xargs grep -i -n -s -A0 "deprecated"
- * Confirm any new bug fixes have corresponding tests
-* GitHub checks
- * Confirm that all __temporary__ branches are checked into master and/or deleted, both local and remote.
- * Working directory clean - no uncommitted changes: $ git status
+
* From IDE:
* Run Unit tests pass
* Run Clover coverage > 90%
* Run SpotBugs checks (is it properly configured?)
* Run Checkstyle (is it properly configured?)
+ * Confirm that all __temporary__ branches are checked into master and/or deleted, both local and remote.
+ * Confirm any new bug fixes have corresponding tests
+
* From Command Line at Component root:
* Confirm GPG is running (check this every time you open a new Terminal):
* $ env | grep GPG
* To start GPG if GPG Agent is not running:
* $ eval $(gpg-agent --daemon)
+ * Confirm GitHub repository is current and git status is clean:
+ * $ git status
+ * "nothing to commit, working tree clean"
+ * At major version releases, search for deprecated code and remove at __Major Versions__ only.
+ * $ find . -name "*.java" -type f -print | xargs grep -i -n -s -A0 "deprecated"
* Check Maven Versions:
* $ mvn versions:display-plugin-updates
* Maven Tests:
@@ -52,7 +55,6 @@
* $ mvn clean test
* $ mvn clean test -P strict
* $ mvn clean javadoc:javadoc
- * Copy new javadocs to website?
* $ mvn clean install -DskipTests=true
* Check that the /target/ directory has 5 jars:
* -javadoc.jar
@@ -60,33 +62,34 @@
* -test-sources.jar
* -tests.jar
* -.jar
- * Note: the .m2/repository/org/apache/datasketches/datasketches-\<component\>/A.B.0-incubating-SNAPSHOT/ should have 5 new jars and a .pom file.
- * Confirm GitHub repository is current and git status is clean:
- * $ git status
+ * Check .m2/repository/org/apache/datasketches/datasketches-\<component\>/A.B.0-incubating-SNAPSHOT/ should have 5 new jars and a .pom file.
+
## Release Branch & POM Version Preparation
* Assume current master POM version = A.B.0-incubating-SNAPSHOT
-* Create Branch from Master: A.B.X-incubating (change 0 to X, remove -SNAPSHOT)
-* In branch A.B.X-incubating:
- * Change POM version to A.B.0-incubating (remove -SNAPSHOT)
- * Commit the change (do not PUSH yet!)
- * Create Annotated TAG: A.B.0-incubating-RC1 (or RCn)
- * Write down the Git hash : 40c6f4f
- * Push Branch with changes to origin
- * DO NOT CREATE PR OR MERGE THIS BRANCH INTO MASTER
- * From Command-line: Do explicit push of tags to origin:
- * $ git push origin --tags
- * From Browser: At origin web site: github.com/apache/incubator-datasketches-\<component\>
- * select the A.B.X-incubating branch
- * confirm that the brahch has the tag: A.B.0-incubating-RC1
- * and that the tag is on the latest commit and with the correct Git hash.
- * DO NOT CREATE PR OR MERGE THIS BRANCH INTO MASTER
-* Return to master:
- * Let C = B + 1
- * Change master POM to A.C.0-incubating-SNAPSHOT
- * Push the change to origin/master.
-* Return to release branch A.B.X-incubating
-* You may minimize your IDE, pointing at the release branch.
+* From IDE:
+ * Switch from Master to new Branch: "A.B.X-incubating"
+ * Edit pom.xml version to A.B.0-incubating (remove -SNAPSHOT, do not change A or B)
+ * Commit the change. __DO NOT PUSH!__
+ * Create Annotated TAG: A.B.0-incubating-RC1 (or RCn)
+ * Write down the Git hash : example: 40c6f4f
+ * Now Push Branch with changes to origin
+ * __DO NOT CREATE PR OR MERGE THIS BRANCH INTO MASTER__
+* From Command-line:
+ * Do explicit push of tags to origin:
+ * $ git push origin --tags
+* From a web browser at origin web site: github.com/apache/incubator-datasketches-\<component\>
+ * Select the A.B.X-incubating branch
+ * Confirm that the tag: A.B.0-incubating-RC1 exists and that the tag is on the latest commit and with the correct Git hash.
+ * __DO NOT CREATE PR OR MERGE THIS BRANCH INTO MASTER__
+* From IDE:
+ * Confirm that the tag A.B.0-incubating-RC1 and the branch A.B.X-incubating, and HEAD coincide with the correct Git hash.
+ * Confirm that there are no unstaged or staged changes.
+ * Return to master branch
+ * Edit master pom.xml to A'.B'.0-incubating-SNAPSHOT where A' or B' will be incremented by 1. (Bug fix releases will change the 3rd digit)
+ * Commit and Push this change to origin/master with the comment "Release Process: Change pom version to A'.B'.0-incubating-SNAPSHOT."
+ * Return to release branch A.B.X-incubating
+ * You may minimize your IDE, pointing at the release branch.
## Create Zip Files for dist.apache.org
@@ -99,21 +102,22 @@
* Confirm GPG is running: \$ env | grep GPG
* If not: \$ eval \$(gpg-agent --daemon)
* Run something like:
- * $ ./bashDeployToDist.sh /Users/\<name\>/dev/git/Apache/datasketches-\<component\> datasketches-\<component\> A.B.0-incubating-RC1
- * Follow the instructions.
- * NOTE: if you get the error "gpg: signing failed: No pinentry":
- * open .gnupg/gpg-agent.conf
- * change to: pinentry-program /usr/local/bin/pinentry-tty
- * reload the gpg agent in the terminal: gpg-connect-agent reloadagent /bye
- * restart the ./bashDeployToDist script
- * Close the terminal
-* Check and grab the web URL ~ https://dist.apache.org/repos/dist/dev/incubator/datasketches/\<component\>/A.B.0-incubating-RC1/
+ * $ ./bashDeployToDist.sh /Users/\<name\>/dev/git/Apache/datasketches-\<component\> datasketches-\<component\> A.B.0-incubating-RC1
+ * Follow the instructions.
+ * NOTE: if you get the error "gpg: signing failed: No pinentry":
+ * open .gnupg/gpg-agent.conf
+ * change to: pinentry-program /usr/local/bin/pinentry-tty
+ * reload the gpg agent in the terminal: gpg-connect-agent reloadagent /bye
+ * restart the ./bashDeployToDist script
+ * Close the terminal
+* Check and grab the web URL ~ https://dist.apache.org/repos/dist/dev/incubator/datasketches/\<component\>/A.B.0-incubating-RC1/
+ * There should be 3 files: \*-src.zip, \*-src.zip.asc, \*-src.zip.sha512
## Push Jars to Nexus (Maven Central) Staging
* Return to original terminal at the project.basedir
* If starting new terminal make sure GPG is running \$ env | grep GPG
* If not: \$ eval \$(gpg-agent --daemon)
-* $ git status # make sure you are still on the release branch
+* $ git status # make sure you are still on the release branch: A.B.X-incubating
* TRIAL-RUN:
* $ mvn clean install -Pnexus-jars -DskipTests=true
* Check that jars & pom have .asc signatures
@@ -156,7 +160,9 @@
* Somewhere like .../dist/dev/incubator/datasketches/scripts
* Run something like the following with the argument specifying the location of your local website directory:
* $ ./createDownloadsInclude.sh /Users/\<name\>/dev/git/Apache/datasketches-website
-* When this is done, be sure to commit the changes to the website.
+* When this is done, be sure to commit the changes to the website.
+
+## Update Javadocs (or Equivalent) on Website
## Release Jars on Nexus Staging
* On Nexus [repository.apache.org](https://repository.apache.org/) click on Staging Repositories
@@ -173,7 +179,6 @@
* On the GitHub site document the release
## Prepare Announce Letter
-
* Summarize Stage 2 vote results
* Send to general@incubator and dev@datasketches
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org