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 2019/09/27 04:17:05 UTC

svn commit: r36086 - /dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md

Author: leerho
Date: Fri Sep 27 04:17:04 2019
New Revision: 36086

Log:
Add Java Release Process

Added:
    dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md

Added: dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md
==============================================================================
--- dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md (added)
+++ dev/incubator/datasketches/scripts/APACHE_JAVA_RELEASE_STEPS.md Fri Sep 27 04:17:04 2019
@@ -0,0 +1,131 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+# Apache Java Release Steps
+
+## Preparation
+* Run Unit tests pass
+* Run Clover coverage > 90%
+* Run SpotBugs checks (properly configured?)
+* Confirm LICENSE & NOTICE Files are correct
+* Confirm DISCLAIMER-WIP is in place
+* Search for Deprecated code - Remove?
+* Confirm any new bug fixes have corresponding tests
+* Run Checkstyle (properly configured?)
+* Confirm all temporary branches checked into master and deleted, local and remote.
+* Working directory clean - no uncommitted changes.
+* From Command Line
+  * Confirm GPG is running:
+      * $ env | grep GPG
+  * To start GPG Agent if not running:
+      * $ eval $(gpg-agent --daemon)
+  * Check Maven Versions:
+      * $ mvn versions:display-plugin-updates
+  * Maven Tests:
+      * $ mvn apache-rat:check
+      * $ mvn clean test
+      * $ mvn clean test -P strict
+      * $ mvn clean javadoc:javadoc
+      * $ mvn clean install -DskipTests=true
+      * Check that the /target/ directory has 5 jars: 
+          * -javadoc.jar
+          * -sources.jar
+          * -test-sources.jar
+          * -tests.jar
+          * -.jar
+  * Confirm GitHub repository is current and git status is clean:
+      * $ git status 
+
+## Release Branch & POM Version Preparation
+* Assume current master POM version = 1.1.0-incubating-SNAPSHOT
+* Create Branch from Master: 1.1.X-incubating
+* In branch 1.1.X-incubating:
+  * Change POM version to 1.1.0-incubating
+  * Commit the change
+  * Create Annotated TAG: 1.1.0-incubating-RC1
+  * Write down the Git hash : 40c6f4f
+  * Push Branch with changes to origin
+  * From Command-line do explicit push of tags to origin:
+    * $ git push origin --tags
+    * At origin web site confirm that the pushed tag has the correct Git hash
+    * DO NOT CREATE PR OR MERGE THIS BRANCH INTO MASTER
+* Return to master: 
+  * Change master POM to 1.2.0-incubating-SNAPSHOT
+  * Push the change to origin/master.
+* Return to release branch 1.1.X-incubating
+* You may minimize your IDE, pointing at the release branch. 
+
+
+## Create Zip Files for dist.apache.org
+* You will need the following arguments:
+  * Absolute path of project.basedir on your system
+  * Project.artifactId : Example: datasketches-java
+  * GitHub Tag: Example: 1.1.0-incubating-RC1 
+* Start a new terminal in the scripts directory on your system: 
+  * Somewhere like ... /dist/dev/incubator/datasketches/scripts
+  * Run something like:
+      * $ ./bashDeployToDist.sh /Users/<name>/dev/git/Apache/datasketches-java datasketches-java 1.1.0-incubating-RC1
+      * Follow the instructions.
+  * Close the terminal
+* Check and grab the web URL ~ https://dist.apache.org/repos/dist/dev/incubator/datasketches/java/1.1.0-incubating-RC1/ 
+
+## Push Jars to Nexus (Maven Central) Staging
+* Return to original terminal at the project.basedir
+* TRIAL-RUN:
+  * $ mvn clean install -Pnexus-jars -DskipTests=true
+      * Check that jars & pom have .asc signatures
+* DEPLOY
+  * $ mvn clean deploy -Pnexus-jars -DskipTests=true
+      * Check repository.apache.org / Staging Repositories for orgapachedatasketches-XXXX
+      * Click Content and search to the end.  Each jar & pom should have .asc, .md5, .sha1 signatures
+      * [CLOSE] the Staging Repository
+      * Confirm its existance under Repositories/Staging web-site : org/apache/datasketches-java/1.1.0-incubating 
+      * Grab its URL while there.
+
+
+## Prepare & Send Vote Letter for PPMC Stage 1
+* Use recent template
+* If successful, continue ...
+
+## Prepare & Send Vote Letter for IPMC Stage 2
+* Use recent template
+* Summarize PPMC vote results
+* If successful, continue ...
+
+## Move RC files from dist/dev to dist/release
+* Open Terminal #1 in local DEV ... /dist/dev/incubator/datasketches
+  * Perform SVN Checkout:
+      * $ svn co https://dist.apache.org/repos/dist/dev/incubator/datasketches/ .
+* Open Terminal #2 in local RELEASE ... /dist/release/incubator/datasketches
+  * Perform SVN Checkout:
+      * $ svn co https://dist.apache.org/repos/dist/release/incubator/datasketches/ .
+  * Create new version directory under appropriate component directory:
+      * $ mkdir -p java/1.1.0-incubating
+  * Using local file system copy files 
+      * From  ... /dist/dev/incubator/datasketches/<component>/version-RCnn/*
+      * To    ... /dist/release/incubator/datasketches/<component>/version (no RCnn)/*
+  * From the ... /dist/release/incubator/datasketches directory:
+      * svn add . --force
+      * svn ci -m "Release 1.1.0-incubating"
+
+## 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