You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by on...@apache.org on 2019/08/30 18:11:28 UTC
[geode] branch release/1.10.0 updated: auto-stage to nexus and
output next steps and script to commit the RC
This is an automated email from the ASF dual-hosted git repository.
onichols pushed a commit to branch release/1.10.0
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/release/1.10.0 by this push:
new effe86b auto-stage to nexus and output next steps and script to commit the RC
effe86b is described below
commit effe86beb3eaea878f966088785c5f74750a95b6
Author: Owen Nichols <on...@pivotal.io>
AuthorDate: Fri Aug 30 09:44:05 2019 -0700
auto-stage to nexus and output next steps and script to commit the RC
[skip ci]
(cherry picked from commit 49db9dac4ecd2f6c7a11255def66324fe769c03e)
---
dev-tools/release/commit_rc.sh | 101 ++++++++++++++++++++++++++++++++++++++++
dev-tools/release/prepare_rc.sh | 33 +++++++++----
2 files changed, 125 insertions(+), 9 deletions(-)
diff --git a/dev-tools/release/commit_rc.sh b/dev-tools/release/commit_rc.sh
new file mode 100755
index 0000000..a91e4b3
--- /dev/null
+++ b/dev-tools/release/commit_rc.sh
@@ -0,0 +1,101 @@
+#!/usr/bin/env 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.
+
+set -e
+
+usage() {
+ echo "Usage: print_rc_email.sh -v version_number -m maven_repo_id"
+ echo " -v The #.#.#.RC# version number"
+ echo " -m The 4 digit id of the nexus maven repo"
+ exit 1
+}
+
+FULL_VERSION=""
+SIGNING_KEY=""
+
+while getopts ":v:m:" opt; do
+ case ${opt} in
+ v )
+ FULL_VERSION=$OPTARG
+ ;;
+ m )
+ MAVEN=$OPTARG
+ ;;
+ \? )
+ usage
+ ;;
+ esac
+done
+
+if [[ ${FULL_VERSION} == "" ]] || [[ ${MAVEN} == "" ]]; then
+ usage
+fi
+
+if [[ $FULL_VERSION =~ ([0-9]+\.[0-9]+\.[0-9]+)\.(RC[0-9]+) ]]; then
+ VERSION=${BASH_REMATCH[1]}
+ RC=${BASH_REMATCH[2]}
+else
+ echo "Malformed version number ${FULL_VERSION}. Example valid number - 1.9.0.RC1"
+ exit 1
+fi
+
+GEODE=$PWD/build/geode
+GEODE_EXAMPLES=$PWD/build/geode-examples
+GEODE_NATIVE=$PWD/build/geode-native
+SVN_DIR=$PWD/build/dist/dev/geode
+
+echo "============================================================"
+echo "Publishing artifacts to apache release location..."
+echo "============================================================"
+cd ${SVN_DIR}
+svn commit -m "Releasing Apache Geode ${FULL_VERSION} distribution"
+
+
+echo "============================================================"
+echo "Pushing tags..."
+echo "============================================================"
+
+cd ${GEODE}
+git push origin rel/v${FULL_VERSION}
+cd ${GEODE_EXAMPLES}
+git push origin rel/v${FULL_VERSION}
+cd ${GEODE_NATIVE}
+git push origin rel/v${FULL_VERSION}
+
+
+echo "============================================================"
+echo "Adding temporary commit for geode-examples to build against staged ${FULL_VERSION}..."
+echo "============================================================"
+cd ${GEODE_EXAMPLES}
+sed -e 's#^geodeRepositoryUrl *=.*#geodeRepositoryUrl = https://repository.apache.org/content/repositories/orgapachegeode-'"${MAVEN}#" \
+ -e 's#^geodeReleaseUrl *=.*#geodeReleaseUrl = https://dist.apache.org/repos/dist/dev/geode/'"${FULL_VERSION}#" -i.bak gradle.properties
+rm gradle.properties.bak
+git add gradle.properties
+git diff --staged
+git commit -m "temporarily point to staging repo for CI purposes"
+git push
+
+
+echo "============================================================"
+echo "Done publishing the release! Send the email below to announce it:"
+echo "============================================================"
+echo "To: dev@geode.apache.org"
+echo "Subject: [VOTE] Apache Geode ${FULL_VERSION}"
+cd ${GEODE}/../..
+${0%/*}/print_rc_email.sh -v ${FULL_VERSION} -m ${MAVEN}
+echo ""
+which pbcopy >/dev/null && ${0%/*}/print_rc_email.sh -v ${FULL_VERSION} -m ${MAVEN} | pbcopy && echo "(copied to clipboard)"
diff --git a/dev-tools/release/prepare_rc.sh b/dev-tools/release/prepare_rc.sh
index 0bd580d..c5ff8b2 100755
--- a/dev-tools/release/prepare_rc.sh
+++ b/dev-tools/release/prepare_rc.sh
@@ -18,9 +18,10 @@
set -e
usage() {
- echo "Usage: prepare_rc -v version_number -k signing_key"
+ echo "Usage: prepare_rc -v version_number -k signing_key -a apache_ldap_username"
echo " -v The #.#.#.RC# version number"
echo " -k Your 8 digit PGP key id. Must be 8 digits. Also the last 8 digits of your gpg fingerprint"
+ echo " -a Your apache LDAP username (that you use to log in to https://id.apache.org)"
exit 1
}
@@ -35,7 +36,7 @@ checkCommand() {
FULL_VERSION=""
SIGNING_KEY=""
-while getopts ":v:k:" opt; do
+while getopts ":v:k:a:" opt; do
case ${opt} in
v )
FULL_VERSION=$OPTARG
@@ -43,13 +44,16 @@ while getopts ":v:k:" opt; do
k )
SIGNING_KEY=$OPTARG
;;
+ a )
+ APACHE_USERNAME=$OPTARG
+ ;;
\? )
usage
;;
esac
done
-if [[ ${FULL_VERSION} == "" ]] || [[ ${SIGNING_KEY} == "" ]]; then
+if [[ ${FULL_VERSION} == "" ]] || [[ ${SIGNING_KEY} == "" ]] || [[ ${APACHE_USERNAME} == "" ]]; then
usage
fi
@@ -108,16 +112,13 @@ svn update --set-depth infinity --parents dist/dev/geode
set +x
echo "============================================================"
-echo "Building projects..."
-echo "============================================================"
-
-echo "============================================================"
echo "Building geode..."
echo "============================================================"
cd ${GEODE}
+svn rm ${VERSION}.RC* || true
set -x
-git clean -fdx && ./gradlew build publishToMavenLocal -Paskpass -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg
+git clean -fdx && ./gradlew build -x test publishToMavenLocal -Paskpass -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg
set +x
@@ -169,5 +170,19 @@ cp ${GEODE_NATIVE}/build/apache-geode-native-${VERSION}* ${FULL_VERSION}
svn add ${FULL_VERSION}
echo "============================================================"
-echo "Done preparing the release! Please review the artifacts and publish them."
+echo "Publishing artifacts to nexus staging manager..."
echo "============================================================"
+cd ${GEODE}
+./gradlew publish -Paskpass -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg -PmavenUsername=${APACHE_USERNAME}
+
+echo "============================================================"
+echo "Done preparing the release and staging to nexus! Next steps:"
+echo "============================================================"
+echo "1. Go to https://repository.apache.org, login as ${APACHE_USERNAME}, and click on Staging Repositories"
+echo "2. If there is a prior ${VERSION} RC, select it and click Drop."
+echo '3. Make a note of the 4-digit ID of the current ("implicitly created") staging repo.'
+echo '4. Select the current staging repo and click Close.'
+echo '5. Wait ~15 minutes for status to become "Closed"'
+echo "6. Run ${0%/*}/commit_rc.sh -v ${FULL_VERSION} -m <4-DIGIT-ID-NOTED-ABOVE>"
+
+cd ${GEODE}/../..