Skip to content

Commit

Permalink
GEODE-7716: geode-benchmarks src should be included in release artifa…
Browse files Browse the repository at this point in the history
…cts (apache#4604)
  • Loading branch information
onichols-pivotal authored Jan 31, 2020
1 parent c7ed5e1 commit e1467e5
Show file tree
Hide file tree
Showing 7 changed files with 83 additions and 15 deletions.
10 changes: 5 additions & 5 deletions dev-tools/release/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
This directory contains scripts to help create a release of geode.

Most of the release steps are documented in the wiki.
See https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode
Not all release steps have scripts. Please follow all instructions as documented in the wiki:
https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode

Scripts
prepare_rc.sh: Checks out the various geode repos, builds a release candidate, and publishes to nexus staging repo
commit_rc.sh: Pushes the tags and artifacts staged by prepare_rc.sh and then runs print_rc_email.sh
commit_rc.sh: Pushes the tags and artifacts staged by prepare_rc.sh and then runs print_rc_email.sh
print_rc_email.sh: Generates an email to send to the dev list announcing a release candidate
promote_rc.sh: Makes an RC the final release and starts the mirroring process
finalize_release.sh: Makes the docker and brew releases, etc
promote_rc.sh: Tags an RC as the final release, builds docker images, and starts the mirroring and brew processes
finalize_release.sh: merges to master and cleans up pipelines and branches
7 changes: 4 additions & 3 deletions dev-tools/release/commit_rc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,11 @@ WORKSPACE=$PWD/release-${VERSION}-workspace
GEODE=$WORKSPACE/geode
GEODE_EXAMPLES=$WORKSPACE/geode-examples
GEODE_NATIVE=$WORKSPACE/geode-native
GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
SVN_DIR=$WORKSPACE/dist/dev/geode
set +x

if [ -d "$GEODE" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$SVN_DIR" ] ; then
if [ -d "$GEODE" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$GEODE_BENCHMARKS" ] && [ -d "$SVN_DIR" ] ; then
true
else
echo "Please run this script from the same working directory as you initially ran prepare_rc.sh"
Expand Down Expand Up @@ -101,7 +102,7 @@ echo "============================================================"
echo "Pushing tags..."
echo "============================================================"

for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ; do
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS }; do
set -x
cd ${DIR}
git push origin rel/v${FULL_VERSION}
Expand All @@ -111,7 +112,7 @@ done

echo ""
echo "============================================================"
echo "Done publishing the release candidate! Next steps:Once the RC pipeline is greenSend the email below to announce it:"
echo "Done publishing the release candidate! Next steps:"
echo "============================================================"
cd ${GEODE}/../..
echo "1. ${0%/*}/deploy_rc_pipeline.sh -v ${VERSION}"
Expand Down
38 changes: 37 additions & 1 deletion dev-tools/release/deploy_rc_pipeline.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ resources:
branch: release/<VERSION>
tag_filter: rel/v<VERSION>.RC*
uri: https://github.com/apache/geode-native.git
- name: geode-benchmarks
type: git
source:
branch: release/<VERSION>
tag_filter: rel/v<VERSION>.RC*
uri: https://github.com/apache/geode-benchmarks.git
- name: upthewaterspout-tests
type: git
source:
Expand Down Expand Up @@ -342,6 +348,35 @@ jobs:
gpg --import KEYS
java -version
./gradlew build -PmavenURL=${STAGING_MAVEN} -PdownloadURL=https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/ -Pversion=${FULL_VERSION}
- name: benchmarks-test
serial: true
plan:
- get: geode-benchmarks
trigger: true
- task: validate
timeout: 1h
config:
image_resource:
type: docker-image
source:
repository: openjdk
tag: 8
inputs:
- name: geode-benchmarks
platform: linux
run:
path: /bin/sh
args:
- -ec
- |
set -ex
FULL_VERSION=$(cd geode-benchmarks && git describe --tags | sed -e 's#^rel/v##')
VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
curl -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-benchmarks-${VERSION}-src.tgz > src.tgz
tar xzf src.tgz
cd apache-geode-benchmarks-${VERSION}-src
java -version
./gradlew build test
- name: verify-keys
serial: true
plan:
Expand Down Expand Up @@ -382,10 +417,11 @@ jobs:
gpg --verify $asc
$sum -c $sha
}
verifyArtifactSignature apache-geode-${VERSION}-src.tgz 256
verifyArtifactSignature apache-geode-${VERSION}-src.tgz 256
verifyArtifactSignature apache-geode-${VERSION}.tgz 256
verifyArtifactSignature apache-geode-examples-${VERSION}.tar.gz 256
verifyArtifactSignature apache-geode-native-${VERSION}-src.tar.gz 512
verifyArtifactSignature apache-geode-benchmarks-${VERSION}-src.tgz 256
EOF
fly -t concourse.apachegeode-ci.info-main login --team-name main --concourse-url https://concourse.apachegeode-ci.info/
fly -t concourse.apachegeode-ci.info-main set-pipeline -p apache-release-${VERSION//./-}-rc -c $PIPEYML
Expand Down
7 changes: 4 additions & 3 deletions dev-tools/release/finalize_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,11 @@ GEODE=$WORKSPACE/geode
GEODE_DEVELOP=$WORKSPACE/geode-develop
GEODE_EXAMPLES=$WORKSPACE/geode-examples
GEODE_NATIVE=$WORKSPACE/geode-native
GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
SVN_RELEASE_DIR=$WORKSPACE/dist/release/geode
set +x

if [ -d "$GEODE" ] && [ -d "$GEODE_DEVELOP" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$SVN_RELEASE_DIR" ] ; then
if [ -d "$GEODE" ] && [ -d "$GEODE_DEVELOP" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$GEODE_BENCHMARKS" ] && [ -d "$SVN_RELEASE_DIR" ] ; then
true
else
echo "Please run this script from the same working directory as you initially ran prepare_rc.sh"
Expand Down Expand Up @@ -104,7 +105,7 @@ echo ""
echo "============================================================"
echo "Merging to master"
echo "============================================================"
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ; do
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
set -x
cd ${DIR}
git fetch origin
Expand All @@ -122,7 +123,7 @@ echo ""
echo "============================================================"
echo "Destroying release branches"
echo "============================================================"
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ; do
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
set -x
cd ${DIR}
git push origin --delete release/${VERSION}
Expand Down
30 changes: 29 additions & 1 deletion dev-tools/release/prepare_rc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ GEODE=$WORKSPACE/geode
GEODE_DEVELOP=$WORKSPACE/geode-develop
GEODE_EXAMPLES=$WORKSPACE/geode-examples
GEODE_NATIVE=$WORKSPACE/geode-native
GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
BREW_DIR=$WORKSPACE/homebrew-core
SVN_DIR=$WORKSPACE/dist/dev/geode
set +x
Expand All @@ -123,6 +124,7 @@ git clone --branch release/${VERSION} [email protected]:apache/geode.git
git clone --branch develop [email protected]:apache/geode.git geode-develop
git clone --branch release/${VERSION} [email protected]:apache/geode-examples.git
git clone --branch release/${VERSION} [email protected]:apache/geode-native.git
git clone --branch release/${VERSION} [email protected]:apache/geode-benchmarks.git
git clone --branch master [email protected]:Homebrew/homebrew-core.git

svn checkout https://dist.apache.org/repos/dist --depth empty
Expand Down Expand Up @@ -204,11 +206,36 @@ ${SHASUM} ${SHASUM_OPTS} ${NCTAR} > ${NCTAR}.sha512
set +x


echo ""
echo "============================================================"
echo "Building geode-benchmarks..."
echo "============================================================"
set -x
cd ${GEODE_BENCHMARKS}
BMDIR=apache-geode-benchmarks-${VERSION}-src
BMTAR=${BMDIR}.tgz
git clean -dxf
mkdir ../${BMDIR}
cp -r .travis.yml * ../${BMDIR}
tar czf ${BMTAR} -C .. ${BMDIR}
rm -Rf ../${BMDIR}
gpg --armor -u ${SIGNING_KEY} -b ${BMTAR}
if which shasum >/dev/null; then
SHASUM=shasum
SHASUM_OPTS="-a 256"
else
SHASUM=sha256sum
SHASUM_OPTS=""
fi
${SHASUM} ${SHASUM_OPTS} ${BMTAR} > ${BMTAR}.sha256
set +x


echo ""
echo "============================================================"
echo "Tagging the release candidate in each repository. The tags will not be pushed yet..."
echo "============================================================"
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ; do
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
set -x
cd ${DIR}
git tag -s -u ${SIGNING_KEY} rel/v${FULL_VERSION} -m "Release candidate ${FULL_VERSION}"
Expand All @@ -228,6 +255,7 @@ mkdir ${FULL_VERSION}
cp ${GEODE}/geode-assembly/build/distributions/* ${FULL_VERSION}
cp ${GEODE_EXAMPLES}/build/distributions/* ${FULL_VERSION}
cp ${GEODE_NATIVE}/build/apache-geode-native-${VERSION}* ${FULL_VERSION}
cp ${GEODE_BENCHMARKS}/apache-geode-benchmarks-${VERSION}* ${FULL_VERSION}
set +x

# verify all files are signed. sometimes gradle "forgets" to make the .asc file
Expand Down
1 change: 1 addition & 0 deletions dev-tools/release/print_rc_email.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ GitHub:
https://github.com/apache/geode/tree/rel/v${FULL_VERSION}
https://github.com/apache/geode-examples/tree/rel/v${FULL_VERSION}
https://github.com/apache/geode-native/tree/rel/v${FULL_VERSION}
https://github.com/apache/geode-benchmarks/tree/rel/v${FULL_VERSION}
Pipelines:
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-release-${VERSION//./-}-main
Expand Down
5 changes: 3 additions & 2 deletions dev-tools/release/promote_rc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,12 @@ WORKSPACE=$PWD/release-${VERSION}-workspace
GEODE=$WORKSPACE/geode
GEODE_EXAMPLES=$WORKSPACE/geode-examples
GEODE_NATIVE=$WORKSPACE/geode-native
GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
BREW_DIR=$WORKSPACE/homebrew-core
SVN_DIR=$WORKSPACE/dist/dev/geode
set +x

if [ -d "$GEODE" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$BREW_DIR" ] && [ -d "$SVN_DIR" ] ; then
if [ -d "$GEODE" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$GEODE_BENCHMARKS" ] && [ -d "$BREW_DIR" ] && [ -d "$SVN_DIR" ] ; then
true
else
echo "Please run this script from the same working directory as you initially ran prepare_rc.sh"
Expand All @@ -100,7 +101,7 @@ echo ""
echo "============================================================"
echo "Tagging ${FULL_VERSION} as ${VERSION} and pushing tags..."
echo "============================================================"
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ; do
for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
set -x
cd ${DIR}
git tag -s -u ${SIGNING_KEY} rel/v${VERSION} -m "Apache Geode v${VERSION} release" rel/v${FULL_VERSION}
Expand Down

0 comments on commit e1467e5

Please sign in to comment.