You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:43:21 UTC

[5/8] brooklyn-dist git commit: more info on verifying the builds (whether downloaded or not) and vote (a script)

more info on verifying the builds (whether downloaded or not) and vote (a script)

also tidy the release/dir moving pr_report to a subdir


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/commit/06db67b4
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/tree/06db67b4
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-dist/diff/06db67b4

Branch: refs/heads/0.8.0-incubating
Commit: 06db67b487a443bdba70044f17cecad6a8493585
Parents: a9e57ef
Author: Alex Heneveld <al...@cloudsoft.io>
Authored: Thu Sep 3 14:48:08 2015 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Sep 4 14:33:51 2015 +0100

----------------------------------------------------------------------
 release/Gemfile                           |   5 -
 release/Gemfile.lock                      |  38 --------
 release/README.md                         |   3 +-
 release/make-release-artifacts.sh         |   4 +-
 release/pr_report.rb                      |  12 ---
 release/print-vote-email.sh               | 129 +++++++++++++++++++++++++
 release/pull-request-reports/Gemfile      |   5 +
 release/pull-request-reports/Gemfile.lock |  38 ++++++++
 release/pull-request-reports/pr_report.rb |  12 +++
 9 files changed, 188 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/Gemfile
----------------------------------------------------------------------
diff --git a/release/Gemfile b/release/Gemfile
deleted file mode 100644
index 8ab84b5..0000000
--- a/release/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-#ruby=ruby-2.1.2
-#ruby-gemset=brooklyn-release-helpers
-
-source 'https://rubygems.org'
-gem 'github_api'

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/Gemfile.lock
----------------------------------------------------------------------
diff --git a/release/Gemfile.lock b/release/Gemfile.lock
deleted file mode 100644
index 859202a..0000000
--- a/release/Gemfile.lock
+++ /dev/null
@@ -1,38 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    addressable (2.3.8)
-    descendants_tracker (0.0.4)
-      thread_safe (~> 0.3, >= 0.3.1)
-    faraday (0.9.1)
-      multipart-post (>= 1.2, < 3)
-    github_api (0.12.3)
-      addressable (~> 2.3)
-      descendants_tracker (~> 0.0.4)
-      faraday (~> 0.8, < 0.10)
-      hashie (>= 3.3)
-      multi_json (>= 1.7.5, < 2.0)
-      nokogiri (~> 1.6.3)
-      oauth2
-    hashie (3.4.2)
-    jwt (1.5.1)
-    mini_portile (0.6.2)
-    multi_json (1.11.1)
-    multi_xml (0.5.5)
-    multipart-post (2.0.0)
-    nokogiri (1.6.6.2)
-      mini_portile (~> 0.6.0)
-    oauth2 (1.0.0)
-      faraday (>= 0.8, < 0.10)
-      jwt (~> 1.0)
-      multi_json (~> 1.3)
-      multi_xml (~> 0.5)
-      rack (~> 1.2)
-    rack (1.6.4)
-    thread_safe (0.3.5)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  github_api

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/README.md
----------------------------------------------------------------------
diff --git a/release/README.md b/release/README.md
index f1976f6..325b165 100644
--- a/release/README.md
+++ b/release/README.md
@@ -44,6 +44,7 @@ run for example `/vagrant/make-release/artifacts.sh`.
 Pull request reporting
 ----------------------
 
-`pr_report.rb` (and associated files `Gemfile` and `Gemfile.lock`) uses the GitHub API to extract a list of open pull
+The files in `pull-request-reports`, mainly `pr_report.rb` 
+(and associated files `Gemfile` and `Gemfile.lock`) uses the GitHub API to extract a list of open pull
 requests, and writes a summary into `pr_report.tsv`. This could then be imported into Google Sheets to provide a handy
 way of classifying and managing outstanding PRs ahead of making a release.

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/make-release-artifacts.sh
----------------------------------------------------------------------
diff --git a/release/make-release-artifacts.sh b/release/make-release-artifacts.sh
index 8cefc77..b0b48d4 100755
--- a/release/make-release-artifacts.sh
+++ b/release/make-release-artifacts.sh
@@ -131,8 +131,8 @@ fi
 
 release_script_dir=$( cd $( dirname $0 ) && pwd )
 brooklyn_dir=$( pwd )
-staging_dir="${brooklyn_dir}/src-release-tmp/${release_name}-src"
-bin_staging_dir="${brooklyn_dir}/bin-release-tmp/${release_name}-bin"
+staging_dir="${release_script_dir}/tmp/working-src/${release_name}-src"
+bin_staging_dir="${release_script_dir}/tmp/working-bin/${release_name}-bin"
 artifact_dir="${release_script_dir}/${artifact_name}"
 
 echo "The version is ${current_version}"

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/pr_report.rb
----------------------------------------------------------------------
diff --git a/release/pr_report.rb b/release/pr_report.rb
deleted file mode 100644
index 95b6317..0000000
--- a/release/pr_report.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-#ruby
-
-require 'CSV'
-require 'github_api'
-
-gh = Github.new
-
-CSV.open("pr_report.tsv", "wb", { :col_sep => "\t" }) do |csv|
-  gh.pull_requests.list('apache', 'incubator-brooklyn').
-      select { |pr| pr.state == "open" }.
-      each { |pr| csv << [ pr.number, pr.title, pr.created_at, pr.user.login ] }
-end

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/print-vote-email.sh
----------------------------------------------------------------------
diff --git a/release/print-vote-email.sh b/release/print-vote-email.sh
new file mode 100755
index 0000000..ac62241
--- /dev/null
+++ b/release/print-vote-email.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+#
+# 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.
+#
+
+# prints a sample email with all the correct information
+
+set +x
+
+fail() {
+    echo >&2 "$@"
+    exit 1
+}
+
+if [ -z "${VERSION_NAME}" ] ; then fail VERSION_NAME must be set ; fi
+if [ -z "${RC_NUMBER}" ] ; then fail RC_NUMBER must be set ; fi
+
+base=apache-brooklyn-${VERSION_NAME}-rc${RC_NUMBER}
+
+if [ -z "$1" ] ; then fail "A single argument being the staging repo ID must be supplied, e.g. orgapachebrooklyn-1234" ; fi
+
+archetype_check=`curl https://repository.apache.org/content/repositories/${staging_repo_id}/archetype-catalog.xml 2> /dev/null`
+if ! echo $archetype_check | grep brooklyn-archetype-quickstart > /dev/null ; then
+  fail staging repo looks wrong at https://repository.apache.org/content/repositories/${staging_repo_id}
+fi
+if ! echo $archetype_check | grep ${VERSION_NAME} > /dev/null ; then
+  fail wrong version at https://repository.apache.org/content/repositories/${staging_repo_id}
+fi
+
+artifact=release/tmp/${base}/${base}-bin.tar.gz
+if [ ! -f $artifact ] ; then
+  fail could not find artifact $artifact
+fi
+if [ -z "$APACHE_ID" ] ; then
+  APACHE_ID=`gpg2 --verify ${artifact}.asc ${artifact} 2>&1 | egrep -o '[^<]*...@apache.org>' | cut -d @ -f 1`
+fi
+if [ -z "$APACHE_ID" ] ; then
+  fail "could not deduce APACHE_ID (your apache username); are files signed correctly?"
+fi
+if ! ( gpg2 --verify ${artifact}.asc ${artifact} 2>&1 | grep ${APACHE_ID}@apache.org > /dev/null ) ; then
+  fail "could not verify signature; are files signed correctly and ID ${APACHE_ID} correct?"
+fi
+
+cat <<EOF
+
+Subject: [VOTE] Release Apache Brooklyn ${VERSION_NAME} [rc${RC_NUMBER}]
+
+
+This is to call for a vote for the release of Apache Brooklyn ${VERSION_NAME}.
+
+This release comprises of a source code distribution, and a corresponding
+binary distribution, and Maven artifacts.
+
+The source and binary distributions, including signatures, digests, etc. can
+be found at:
+
+  https://dist.apache.org/repos/dist/dev/incubator/brooklyn/${base}
+
+The artifact SHA-256 checksums are as follows:
+
+EOF
+
+cat release/tmp/${base}/*.sha256 | awk '{print "  "$0}'
+
+cat <<EOF
+
+The Nexus staging repository for the Maven artifacts is located at:
+
+    https://repository.apache.org/content/repositories/${staging_repo_id}
+
+All release artifacts are signed with the following key:
+
+    https://people.apache.org/keys/committer/${APACHE_ID}.asc
+
+KEYS file available here:
+
+    https://dist.apache.org/repos/dist/release/incubator/brooklyn/KEYS
+
+
+The artifacts were built from git commit ID $( git rev-parse HEAD ):
+
+    https://git-wip-us.apache.org/repos/asf?p=incubator-brooklyn.git;a=commit;h=$( git rev-parse HEAD )
+
+
+Please vote on releasing this package as Apache Brooklyn ${VERSION_NAME}.
+
+The vote will be open for at least 72 hours.
+[ ] +1 Release this package as Apache Brooklyn ${VERSION_NAME}
+[ ] +0 no opinion
+[ ] -1 Do not release this package because ...
+
+
+Thanks!
+EOF
+
+cat <<EOF
+
+
+
+CHECKLIST for reference
+
+[ ] Download links work.
+[ ] Binaries work.
+[ ] Checksums and PGP signatures are valid.
+[ ] Expanded source archive matches contents of RC tag.
+[ ] Expanded source archive builds and passes tests.
+[ ] LICENSE is present and correct.
+[ ] NOTICE is present and correct, including copyright date.
+[ ] All files have license headers where appropriate.
+[ ] All dependencies have compatible licenses.
+[ ] No compiled archives bundled in source archive.
+[ ] I follow this project’s commits list.
+
+EOF

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/pull-request-reports/Gemfile
----------------------------------------------------------------------
diff --git a/release/pull-request-reports/Gemfile b/release/pull-request-reports/Gemfile
new file mode 100644
index 0000000..8ab84b5
--- /dev/null
+++ b/release/pull-request-reports/Gemfile
@@ -0,0 +1,5 @@
+#ruby=ruby-2.1.2
+#ruby-gemset=brooklyn-release-helpers
+
+source 'https://rubygems.org'
+gem 'github_api'

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/pull-request-reports/Gemfile.lock
----------------------------------------------------------------------
diff --git a/release/pull-request-reports/Gemfile.lock b/release/pull-request-reports/Gemfile.lock
new file mode 100644
index 0000000..859202a
--- /dev/null
+++ b/release/pull-request-reports/Gemfile.lock
@@ -0,0 +1,38 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.3.8)
+    descendants_tracker (0.0.4)
+      thread_safe (~> 0.3, >= 0.3.1)
+    faraday (0.9.1)
+      multipart-post (>= 1.2, < 3)
+    github_api (0.12.3)
+      addressable (~> 2.3)
+      descendants_tracker (~> 0.0.4)
+      faraday (~> 0.8, < 0.10)
+      hashie (>= 3.3)
+      multi_json (>= 1.7.5, < 2.0)
+      nokogiri (~> 1.6.3)
+      oauth2
+    hashie (3.4.2)
+    jwt (1.5.1)
+    mini_portile (0.6.2)
+    multi_json (1.11.1)
+    multi_xml (0.5.5)
+    multipart-post (2.0.0)
+    nokogiri (1.6.6.2)
+      mini_portile (~> 0.6.0)
+    oauth2 (1.0.0)
+      faraday (>= 0.8, < 0.10)
+      jwt (~> 1.0)
+      multi_json (~> 1.3)
+      multi_xml (~> 0.5)
+      rack (~> 1.2)
+    rack (1.6.4)
+    thread_safe (0.3.5)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  github_api

http://git-wip-us.apache.org/repos/asf/brooklyn-dist/blob/06db67b4/release/pull-request-reports/pr_report.rb
----------------------------------------------------------------------
diff --git a/release/pull-request-reports/pr_report.rb b/release/pull-request-reports/pr_report.rb
new file mode 100644
index 0000000..95b6317
--- /dev/null
+++ b/release/pull-request-reports/pr_report.rb
@@ -0,0 +1,12 @@
+#ruby
+
+require 'CSV'
+require 'github_api'
+
+gh = Github.new
+
+CSV.open("pr_report.tsv", "wb", { :col_sep => "\t" }) do |csv|
+  gh.pull_requests.list('apache', 'incubator-brooklyn').
+      select { |pr| pr.state == "open" }.
+      each { |pr| csv << [ pr.number, pr.title, pr.created_at, pr.user.login ] }
+end