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