You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2017/03/19 23:53:08 UTC

[2/2] incubator-streams git commit: STREAMS-486: Update release script on website

STREAMS-486: Update release script on website


Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/8b60ed9d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/8b60ed9d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/8b60ed9d

Branch: refs/heads/master
Commit: 8b60ed9d9f0b9d5b3ae1b82daaa6d68da9c74e6f
Parents: 4383742
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Sun Mar 19 18:53:01 2017 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Sun Mar 19 18:53:01 2017 -0500

----------------------------------------------------------------------
 publish-rc.sh                |  30 ++++++++++
 release.sh                   | 121 ++++++++++++++++++++++++++++++++++++++
 src/site/markdown/release.md |  30 ++++++----
 3 files changed, 169 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/8b60ed9d/publish-rc.sh
----------------------------------------------------------------------
diff --git a/publish-rc.sh b/publish-rc.sh
new file mode 100755
index 0000000..eb21493
--- /dev/null
+++ b/publish-rc.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+REL=$1
+REP=$2
+
+if [[ -z "$REL" || -z "$REP" ]]; then
+    echo "You must specify a release version and a staging repo name"
+    exit 1
+fi
+
+
+mkdir -p dist
+cd dist
+svn co https://dist.apache.org/repos/dist/dev/incubator/streams dev
+cd dev
+mkdir $REL
+cd $REL
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-project/$REL/streams-project-$REL-source-release.zip
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-project/$REL/streams-project-$REL-source-release.zip.md5
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-project/$REL/streams-project-$REL-source-release.zip.sha1
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-project/$REL/streams-project-$REL-source-release.zip.asc
+
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-examples/$REL/streams-examples-$REL-source-release.zip
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-examples/$REL/streams-examples-$REL-source-release.zip.md5
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-examples/$REL/streams-examples-$REL-source-release.zip.sha1
+wget https://repository.apache.org/content/repositories/$REP/org/apache/streams/streams-examples/$REL/streams-examples-$REL-source-release.zip.asc
+
+svn add .*
+svn commit -m "Publishing $REL RC for VOTE"
+cd ../..
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/8b60ed9d/release.sh
----------------------------------------------------------------------
diff --git a/release.sh b/release.sh
new file mode 100755
index 0000000..fb5e6f5
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,121 @@
+#!/bin/bash
+
+REL=$1
+DEV=$2
+REPO="-Dmaven.repo.local=/tmp/streams_release"
+
+if [[ -z "$REL" || -z "$DEV" ]]; then
+    echo "You must specify a release and new dev version"
+    exit 1
+fi
+
+
+mkdir -p /tmp/streams_release
+mkdir -p logs
+
+printInfo() {
+    echo "\n"
+    mvn -v
+    echo "\n"
+    docker -v
+    echo "\n"
+    docker info
+    echo "\n\n"
+    git status
+    git log | head
+}
+
+checkStatus() {
+    local output=$1
+    if [[ -z "$(tail $output | egrep 'BUILD SUCCESS')" ]]; then
+        echo "Release failed"
+        exit 1
+    fi
+}
+
+#incubator-streams
+git clone https://git-wip-us.apache.org/repos/asf/incubator-streams.git ./incubator-streams-$REL
+cd incubator-streams-$REL
+
+printInfo
+
+mvn clean verify $REPO > ../logs/incubator-streams_unittests.txt
+checkStatus ../logs/incubator-streams_unittests.txt
+
+mvn $REPO clean apache-rat:check -e -DskipTests=true  > ../logs/incubator-streams-project_apache-rat_check.txt
+checkStatus ../logs/incubator-streams-project_apache-rat_check.txt
+
+cp ../streams-c84fa47bd759.p12 .
+cp ../application.conf .
+sed -i '' "s#<WORK>#$(pwd)#g" application.conf
+cat application.conf
+
+mvn -PdockerITs $REPO docker:start > ../logs/incubator-streams_docker-start.txt
+checkStatus ../logs/incubator-streams_docker-start.txt
+
+sleep 30
+docker ps
+head *.properties
+
+mvn clean verify $REPO -DskipTests=true -DskipITs=false -DargLine="-Dconfig.file=`pwd`/application.conf" > ../logs/incubator-streams_integrationtests.txt
+checkStatus ../logs/incubator-streams_integrationtests.txt
+
+mvn -PdockerITs $REPO docker:stop > ../logs/incubator-streams_docker-stop.txt
+checkStatus ../logs/incubator-streams_docker-stop.txt
+
+mvn -Papache-release $REPO release:prepare -DpushChanges=false -DautoVersionSubmodules=true -DreleaseVersion=$REL -DdevelopmentVersion=$DEV-SNAPSHOT -Dtag=streams-project-$REL > ../logs/incubator-streams-project_release-prepare.txt
+checkStatus ../logs/incubator-streams-project_release-prepare.txt
+
+mvn -Papache-release $REPO clean install release:perform -Darguments='-Dmaven.test.skip.exec=true' -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true > ../logs/incubator-streams-project_release-perform.txt
+checkStatus ../logs/incubator-streams-project_release-perform.txt
+
+cd ..
+
+#streams-examples
+git clone https://git-wip-us.apache.org/repos/asf/incubator-streams-examples.git ./incubator-streams-examples-$REL
+cd incubator-streams-examples-$REL
+
+printInfo
+
+mvn $REPO clean apache-rat:check -e -DskipTests > ../logs/incubator-streams-examples_apache-rat_check.txt
+checkStatus ../logs/incubator-streams-examples_apache-rat_check.txt
+
+mvn $REPO clean verify > ../logs/incubator-streams-examples_unittests.txt
+checkStatus ../logs/incubator-streams-examples_unittests.txt
+
+cp ../streams-c84fa47bd759.p12 .
+cp ../application.conf .
+sed -i '' "s#<WORK>#$(pwd)#g" application.conf
+
+mvn $REPO -PdockerITs -N docker:start > ../logs/incubator-streams-examples_docker-start.txt
+checkStatus ../logs/incubator-streams-examples_docker-start.txt
+
+sleep 30
+docker ps
+head *.properties
+
+mvn $REPO clean verify -DskipTests=true -DskipITs=false -DargLine="-Dconfig.file=`pwd`/application.conf" > ../logs/incubator-streams-examples_integrationtests.txt
+checkStatus ../logs/incubator-streams-examples_integrationtests.txt
+
+mvn $REPO -Papache-release release:prepare -DpushChanges=false -DautoVersionSubmodules=true -DreleaseVersion=$REL -DdevelopmentVersion=$DEV-SNAPSHOT -Dtag=streams-examples-$REL > ../logs/incubator-streams-examples_release-prepare.txt
+checkStatus ../logs/incubator-streams-examples_release-prepare.txt
+
+mvn $REPO -Papache-release clean install release:perform -Darguments='-Dmaven.test.skip.exec=true' -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true > ../logs/incubator-streams-examples_release-perform.txt
+checkStatus ../logs/incubator-streams-examples_release-perform.txt
+
+git push origin master
+git push origin streams-examples-$REL
+
+cd ../incubator-streams-$REL
+git push origin master
+git push origin streams-project-$REL
+
+cd..
+
+cat << EOM
+##################################################################
+
+                    RELEASE COMPLETE
+
+##################################################################
+EOM
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/8b60ed9d/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
index 44730be..6f5de75 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/release.md
@@ -1,21 +1,26 @@
 ##Release Process
 
-There are two distinct sets of artifacts that are released on independent schedules:  streams-master & streams-project.  The streams-master is the project metadata and only needs to be released when there is a change in the structure of the project itself.  The streams-project artifacts are comprised of all streams source code, binaries and a standalone demo.  For release setup information, refer to [Release Setup Information](/release-setup.html).
+There are two distinct sets of artifacts in two repositories that are typically released together:  streams-project and streams-examples.
 
-All of the steps below apply to all streams repository releases, unless otherwise specified.  As an alternative to releasing separately, the projects MAY be released together as one combined release.  The steps for this can be found below. ([Combined Release Steps](#combined))
+streams-project artifacts include streams source code and convenience jars by module.  
 
-NOTE:
+streams-examples source code builds ready-to-run stand-alone examples as uber-jars.
 
-Releases should always be built and published in the following order:
+Releases must be built and published in the following order:
 
-* streams-master
 * streams-project
 * streams-examples
 
 In the instructions below, ${project.name} should be one of these top-level repository aggregator pom project names.
 
-As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. (Combined Release Steps)
+###NOTE: 
 
+As a streams release manager, you probably want to use the release.sh and publish-rc.sh scripts in the root of streams-project.
+
+To perform a release manually, or to better understand what's going on, read the intructions below.
+
+In either case, you'll need to first refer to [Release Setup Information](/release-setup.html).
+                               
 ###Common Release Steps
 
 1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases)    
@@ -118,6 +123,7 @@ As an alternative to releasing separately, the projects MAY be released together
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip    
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc   
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5   
+            wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.sha1
             svn add ${project.name}-*
             svn commit -m "Committing Source Release for ${project.name}-${project.version}
 
@@ -133,6 +139,7 @@ As an alternative to releasing separately, the projects MAY be released together
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip    
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc   
             wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5   
+            wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.sha1
             svn add ${project.name}-*
             svn commit -m "Committing Source Release for ${project.name}-${project.version}
 
@@ -214,9 +221,6 @@ In order to perform a combined release of the streams-master and streams-project
           I've created a combined ${release.version} release candidate, with the
           following artifacts up for a vote:
 
-          incubator-streams-master source tag (r${release.version}):
-          https://git-wip-us.apache.org/repos/asf?p=incubator-streams-master.git;a=commit;h=...
-
           incubator-streams source tag (r${release.version}):
           https://git-wip-us.apache.org/repos/asf?p=incubator-streams.git;a=commit;h=...
 
@@ -224,16 +228,18 @@ In order to perform a combined release of the streams-master and streams-project
           https://git-wip-us.apache.org/repos/asf?p=incubator-streams-examples.git;a=commit;h=...
 
           Maven staging repo:
-          https://repository.apache.org/content/repositories/${release.master.repository}
           https://repository.apache.org/content/repositories/${release.project.repository}
           https://repository.apache.org/content/repositories/${release.examples.repository}
 
           Source releases:
-          https://repository.apache.org/content/repositories/${release.master.repository}/org/apache/streams/streams-master/${release.version}/streams-master-${release.version}-source-release.zip
           https://repository.apache.org/content/repositories/${release.project.repository}/org/apache/rave/rave-project/${release.version}/streams-project-${release.version}-incubating-source-release.zip
           https://repository.apache.org/content/repositories/${release.project.repository}/org/apache/rave/rave-project/${release.version}/streams-project-${release.version}-incubating-source-release.zip
 
-          Checksums of streams-master-${release.version}-source-release.zip:
+          Checksums of streams-project-${release.version}-source-release.zip:
+          MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+          SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+          Checksums of streams-examples-${release.version}-source-release.zip:
           MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
           SHA1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX