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