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 2021/02/12 00:51:43 UTC
[geode] branch support/1.14 updated: remove outdated copies of
release scripts to ensure they are not run by accident
This is an automated email from the ASF dual-hosted git repository.
onichols pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/support/1.14 by this push:
new ebb41f2 remove outdated copies of release scripts to ensure they are not run by accident
ebb41f2 is described below
commit ebb41f242373012cb018a49a16ed8df156fc467d
Author: Owen Nichols <on...@apache.org>
AuthorDate: Thu Feb 11 16:49:46 2021 -0800
remove outdated copies of release scripts to ensure they are not run by accident
---
dev-tools/release/README.md | 31 +-
dev-tools/release/commit_rc.sh | 146 -------
dev-tools/release/create_support_branches.sh | 270 ------------
dev-tools/release/deploy_rc_pipeline.sh | 622 ---------------------------
dev-tools/release/end_of_support.sh | 155 -------
dev-tools/release/license_review.sh | 362 ----------------
dev-tools/release/prepare_rc.sh | 347 ---------------
dev-tools/release/print_rc_email.sh | 101 -----
dev-tools/release/promote_rc.sh | 507 ----------------------
dev-tools/release/set_copyright.sh | 57 ---
dev-tools/release/set_versions.sh | 176 --------
11 files changed, 1 insertion(+), 2773 deletions(-)
diff --git a/dev-tools/release/README.md b/dev-tools/release/README.md
index 493ce10..4bc08cd 100644
--- a/dev-tools/release/README.md
+++ b/dev-tools/release/README.md
@@ -1,30 +1 @@
-# geode/dev-tools/release
-This directory contains scripts to help create a release of Geode and manage branches.
-
-Not all release steps have scripts. Please follow all instructions as documented in the wiki: [Releasing Apache Geode](https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode).
-
-These scripts are intended to be run from the parent directory of your geode develop checkout, e.g.:
-
- $ cd ..
- $ geode/dev-tools/release/foo.sh
-
-## Overview of scripts
-
-**license\_review.sh** compares versions with a previous release and/or checks that all bundled dependencies are noted in appropriate LICENSE file
-
-**create\_support\_branches.sh** cuts support/x.y from develop for all projects and walks you through creating pipelines and setting version numbers
-
-**set\_copyright.sh** updates the copyright year
-
-**set\_versions.sh** updates files that need to contain the version number planned for the next release from this support branch
-
-**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
-
-**print\_rc\_email.sh** Generates an email to send to the dev list announcing a release candidate
-
-**promote\_rc.sh** Tags an RC as the final release, builds docker images, merges to master, and starts the mirroring and brew processes
-
-**end\_of\_support.sh** cleans up pipelines and branches after 9-month life of support branch is reached
-
+See [Releasing Apache Geode](https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode)
diff --git a/dev-tools/release/commit_rc.sh b/dev-tools/release/commit_rc.sh
deleted file mode 100755
index 7331a12..0000000
--- a/dev-tools/release/commit_rc.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/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=""
-MAVEN=""
-
-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]}
-else
- echo "Malformed version number ${FULL_VERSION}. Example valid version: 1.9.0.RC1"
- exit 1
-fi
-
-VERSION_MM=${VERSION%.*}
-
-set -x
-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 "$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"
- exit 1
-fi
-
-
-function failMsg {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 80-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg $LINENO' ERR
-
-
-echo ""
-echo "============================================================"
-echo "Publishing artifacts to apache release location..."
-echo "============================================================"
-set -x
-cd ${SVN_DIR}
-svn commit -m "Releasing Apache Geode ${FULL_VERSION} distribution"
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Adding temporary commit for geode-examples to build against staged ${FULL_VERSION}..."
-echo "============================================================"
-set -x
-cd ${GEODE_EXAMPLES}
-set +x
-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
-set -x
-git add gradle.properties
-git diff --staged --color | cat
-git commit -m "temporarily point to staging repo for CI purposes"
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Keeping -build.0 suffix"
-echo "============================================================"
-cd ${GEODE}/../..
-set -x
-${0%/*}/set_versions.sh -v ${VERSION} -s -n -w "${WORKSPACE}"
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Pushing copyrights, versions, and tags..."
-echo "============================================================"
-for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git pull -r
- git push -u origin
- git push origin rel/v${FULL_VERSION}
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Done publishing the release candidate! Next steps:"
-echo "============================================================"
-cd ${GEODE}/../..
-echo "1. ${0%/*}/deploy_rc_pipeline.sh -v ${VERSION_MM}"
-echo "2. Monitor https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-${VERSION_MM//./-}-rc until all green"
-echo "3. Send the following email to announce the RC:"
-echo "To: dev@geode.apache.org"
-echo "Subject: [VOTE] Apache Geode ${FULL_VERSION}"
-${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/create_support_branches.sh b/dev-tools/release/create_support_branches.sh
deleted file mode 100755
index d74c7eb..0000000
--- a/dev-tools/release/create_support_branches.sh
+++ /dev/null
@@ -1,270 +0,0 @@
-#!/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: create_support_branches.sh -v version_number -g your_github_username"
- echo " -v The #.# version number of the support branch to create"
- echo " -g Your github username"
- exit 1
-}
-
-VERSION_MM=""
-GITHUB_USER=""
-
-while getopts ":v:g:" opt; do
- case ${opt} in
- v )
- VERSION_MM=$OPTARG
- ;;
- g )
- GITHUB_USER=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${VERSION_MM} == "" ]] || [[ ${GITHUB_USER} == "" ]] ; then
- usage
-fi
-
-if [[ $VERSION_MM =~ ^([0-9]+\.[0-9]+)$ ]]; then
- true
-else
- echo "Malformed version number ${VERSION_MM}. Example valid version: 1.9"
- exit 1
-fi
-
-MAJOR=${VERSION_MM%.*}
-MINOR=${VERSION_MM#*.}
-
-#tip: hardcode NEWMAJOR and NEWMINOR as needed if jumping to a new major
-NEWMAJOR=${MAJOR}
-NEWMINOR=$((MINOR + 1))
-
-NEWVERSION_MM=${NEWMAJOR}.${NEWMINOR}
-NEWVERSION_MM_NODOT=${NEWVERSION_MM//./}
-NEWVERSION=${NEWVERSION_MM}.0
-
-set -x
-WORKSPACE=$PWD/support-${VERSION_MM}-workspace
-GEODE=$WORKSPACE/geode
-GEODE_DEVELOP=$WORKSPACE/geode-develop
-GEODE_EXAMPLES=$WORKSPACE/geode-examples
-GEODE_EXAMPLES_DEVELOP=$WORKSPACE/geode-examples-develop
-GEODE_NATIVE=$WORKSPACE/geode-native
-GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
-set +x
-
-
-function failMsg1 {
- echo "ERROR: script did NOT complete successfully. Please try again."
-}
-trap failMsg1 ERR
-
-
-echo ""
-echo "============================================================"
-echo "Cleaning workspace directory..."
-echo "============================================================"
-set -x
-rm -rf $WORKSPACE
-mkdir -p $WORKSPACE
-cd $WORKSPACE
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Cloning repositories..."
-echo "============================================================"
-set -x
-git clone --single-branch --branch develop git@github.com:apache/geode.git
-git clone --single-branch --branch develop git@github.com:apache/geode.git geode-develop
-git clone --single-branch --branch develop git@github.com:apache/geode-examples.git
-git clone --single-branch --branch develop git@github.com:apache/geode-examples.git geode-examples-develop
-git clone --single-branch --branch develop git@github.com:apache/geode-native.git
-git clone --single-branch --branch develop git@github.com:apache/geode-benchmarks.git
-set +x
-
-
-function failMsg2 {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 70-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg2 $LINENO' ERR
-
-
-cd ${GEODE}/../..
-set -x
-${0%/*}/set_copyright.sh ${GEODE} ${GEODE_DEVELOP} ${GEODE_EXAMPLES} ${GEODE_EXAMPLES_DEVELOP} ${GEODE_NATIVE} ${GEODE_BENCHMARKS}
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Pushing copyright updates (if any) to develop before branching"
-echo "============================================================"
-#get these 2 done before the branch so we don't have to do develop and support separately.
-#the other 2 will be pushed to develop and support versions when version bumps are pushed.
-for DIR in ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- if ! [ git push --dry-run 2>&1 | grep -q 'Everything up-to-date' ] ; then
- git push -u origin
- fi
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Creating support/${VERSION_MM} branches"
-echo "============================================================"
-for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git checkout -b support/${VERSION_MM}
- git push -u origin support/${VERSION_MM}
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Bumping version on develop to ${NEWVERSION}"
-echo "============================================================"
-set -x
-cd ${GEODE_DEVELOP}
-git pull -r
-git remote add myfork git@github.com:${GITHUB_USER}/geode.git || true
-git checkout -b roll-develop-to-${NEWVERSION}
-set +x
-
-#version = 1.13.0-build.0
-sed -e "s/^version =.*/version = ${NEWVERSION}-build.0/" -i.bak gradle.properties
-
-# initial_version: 1.13.0-((stuff)).0
-sed -e "s/^ initial_version:[^-]*\(-[^.0-9]*\)[.0-9]*/ initial_version: ${NEWVERSION}\1.0/" -i.bak ./ci/pipelines/shared/jinja.variables.yml
-
-VER=geode-serialization/src/main/java/org/apache/geode/internal/serialization/KnownVersion.java
-[ -r $VER ] || VER=geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java
-#add the new ordinal and Version constants and set them as current&highest
-CURORD=$(cat $VER | awk '/private static final short GEODE_.*_ORDINAL/{print $NF}' | tr -d ';' | sort -n | tail -1)
-NEWORD=$(( CURORD + 5 ))
-sed -e "s#/. NOTE: when adding a new version#private static final short GEODE_${NEWMAJOR}_${NEWMINOR}_0_ORDINAL = ${NEWORD};\\
-\\
- @Immutable\\
- public static final Version GEODE_${NEWMAJOR}_${NEWMINOR}_0 =\\
- new Version("'"'"GEODE"'"'", "'"'"${NEWMAJOR}.${NEWMINOR}.0"'"'", (byte) ${NEWMAJOR}, (byte) ${NEWMINOR}, (byte) 0, (byte) 0, GEODE_${NEWMAJOR}_${NEWMINOR}_0_ORDINAL);\\
-\\
- /* NOTE: when adding a new version#" \
- -e "/public static final Version CURRENT/s#GEODE[0-9_]*#GEODE_${NEWMAJOR}_${NEWMINOR}_0#" \
- -e "/public static final int HIGHEST_VERSION/s# = [0-9]*# = ${NEWORD}#" \
- -i.bak $VER
-
-COM=geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java
-#add to list of all commands
-sed -e "s#return Collections.unmodifiableMap(allCommands#allCommands.put(Version.GEODE_${NEWMAJOR}_${NEWMINOR}_0, geode18Commands);\\
- return Collections.unmodifiableMap(allCommands#" \
- -i.bak $COM
-
-# directory: docs/guide/113
-# product_version: '1.13.2'
-# product_version_nodot: '113'
-# product_version_geode: '1.13'
-sed -E \
- -e "s#docs/guide/[0-9]+#docs/guide/${NEWVERSION_MM_NODOT}#" \
- -e "s#product_version: '[0-9.]+'#product_version: '${NEWVERSION}'#" \
- -e "s#version_nodot: '[0-9]+'#version_nodot: '${NEWVERSION_MM_NODOT}'#" \
- -e "s#product_version_geode: '[0-9.]+'#product_version_geode: '${NEWVERSION_MM}'#" \
- -i.bak geode-book/config.yml
-
-#rewrite '/', '/docs/guide/113/about_geode.html'
-#rewrite '/index.html', '/docs/guide/113/about_geode.html'
-sed -E -e "s#docs/guide/[0-9]+#docs/guide/${NEWVERSION_MM_NODOT}#" -i.bak geode-book/redirects.rb
-
-rm gradle.properties.bak ci/pipelines/shared/jinja.variables.yml.bak geode-book/config.yml.bak geode-book/redirects.rb.bak $VER.bak* $COM.bak*
-set -x
-git add .
-git diff --staged --color | cat
-
-./gradlew updateExpectedPom
-
-git commit -a -m "roll develop to ${NEWVERSION} now that support/${VERSION_MM} has been created"
-git push -u myfork
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Bumping examples version on develop to ${NEWVERSION}"
-echo "============================================================"
-set -x
-cd ${GEODE_EXAMPLES_DEVELOP}
-git pull -r
-set +x
-
-#version = 1.13.0-build.0
-#geodeVersion = 1.13.0-build+
-sed \
- -e "s/^version =.*/version = ${NEWVERSION}-build.0/" \
- -e "s/^geodeVersion =.*/geodeVersion = ${NEWVERSION_MM}.+/" \
- -i.bak gradle.properties
-rm gradle.properties.bak
-set -x
-git add gradle.properties
-git diff --staged --color | cat
-git commit -m "pair develop examples with ${NEWVERSION} now that support/${VERSION_MM} has been created"
-git push -u origin
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Setting version on support/${VERSION_MM}"
-echo "============================================================"
-cd ${GEODE}/../..
-set -x
-${0%/*}/set_versions.sh -v ${VERSION_MM}.0 -s -w "${WORKSPACE}"
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Logging you in to concourse"
-echo "============================================================"
-set -x
-fly -t concourse.apachegeode-ci.info-main login --team-name main --concourse-url https://concourse.apachegeode-ci.info/
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Done creating support branches"
-echo "============================================================"
-cd ${GEODE}/../..
-echo "Next steps:"
-echo "1. Go to https://github.com/${GITHUB_USER}/geode/pull/new/roll-develop-to-${NEWVERSION} and create the pull request"
-echo "2. Plus the BumpMinor job at https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main?group=Semver%20Management"
-echo "3. Add ${NEWVERSION} to Jira at https://issues.apache.org/jira/projects/GEODE?selectedItem=com.atlassian.jira.jira-projects-plugin:release-page"
-echo "4. (cd ${GEODE}/ci/pipelines/meta && ./deploy_meta.sh) #takes about 2 hours. keep re-running until successful."
-echo "5. That's it for now. Once all needed fixes have been proposed and cherry-picked to support/${VERSION_MM} and https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-${VERSION_MM/./-}-main is green, come back and run ${0%/*}/prepare_rc.sh -v ${VERSION}.RC1"
diff --git a/dev-tools/release/deploy_rc_pipeline.sh b/dev-tools/release/deploy_rc_pipeline.sh
deleted file mode 100755
index 2335a71..0000000
--- a/dev-tools/release/deploy_rc_pipeline.sh
+++ /dev/null
@@ -1,622 +0,0 @@
-#!/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: deploy_rc_pipeline -v version_number"
- echo " -v The #.# version number"
- exit 1
-}
-
-VERSION_MM=""
-
-while getopts ":v:" opt; do
- case ${opt} in
- v )
- VERSION_MM=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${VERSION_MM} == "" ]]; then
- usage
-fi
-
-if [[ $VERSION_MM =~ ^([0-9]+\.[0-9]+)$ ]]; then
- true
-else
- echo "Malformed version number ${VERSION_MM}. Example valid version: 1.9"
- exit 1
-fi
-
-PIPEYML=$PWD/rc-pipeline.yml
-cat << "EOF" | sed -e "s/<VERSION_MM>/${VERSION_MM}/" > $PIPEYML
----
-
-resources:
-- name: geode
- type: git
- source:
- branch: support/<VERSION_MM>
- tag_filter: rel/v<VERSION_MM>.*.RC*
- uri: https://github.com/apache/geode.git
-- name: geode-develop
- type: git
- source:
- branch: develop
- uri: https://github.com/apache/geode.git
-- name: geode-examples
- type: git
- source:
- branch: support/<VERSION_MM>
- uri: https://github.com/apache/geode-examples.git
-- name: geode-native
- type: git
- source:
- branch: support/<VERSION_MM>
- tag_filter: rel/v<VERSION_MM>.*.RC*
- uri: https://github.com/apache/geode-native.git
-- name: geode-benchmarks
- type: git
- source:
- branch: support/<VERSION_MM>
- tag_filter: rel/v<VERSION_MM>.*.RC*
- uri: https://github.com/apache/geode-benchmarks.git
-- name: upthewaterspout-tests
- type: git
- source:
- branch: master
- uri: https://github.com/apache/geode.git
-
-jobs:
- - name: build-geode-from-tag
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- SHA=$(cd geode && git rev-parse HEAD)
- java -version
- cd geode
- ./gradlew test installDist
- gfsh=geode-assembly/build/install/apache-geode/bin/gfsh
- $gfsh version --full | grep "^Source-Revision: ${SHA}$"
- $gfsh version --full | grep "^Product-Version: ${VERSION}-build"
- ! $gfsh version --full | grep Oracle
- - name: build-geode-from-src-tgz
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- SHA=$(cd geode && git rev-parse HEAD)
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-${VERSION}-src.tgz > src.tgz
- tar xzf src.tgz
- cd apache-geode-${VERSION}-src
- java -version
- ./gradlew test installDist
- gfsh=geode-assembly/build/install/apache-geode/bin/gfsh
- $gfsh version --full | grep "^Source-Revision: ${SHA}$"
- $gfsh version --full | grep "^Product-Version: ${VERSION}-build"
- ! $gfsh version --full | grep Oracle
- - name: run-gfsh-from-tgz
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- SHA=$(cd geode && git rev-parse HEAD)
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-${VERSION}.tgz > bin.tgz
- tar xzf bin.tgz
- cd apache-geode-${VERSION}
- java -version
- gfsh=bin/gfsh
- $gfsh version --full | grep "^Source-Revision: ${SHA}$"
- $gfsh version --full | grep "^Product-Version: ${VERSION}$"
- ! $gfsh version --full | grep Oracle
- - name: run-geode-examples-jdk11
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode-examples
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 11
- inputs:
- - name: geode-examples
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip
- cd geode-examples
- java -version
- ./gradlew runAll
- - name: run-geode-examples-from-src-tgz-jdk8
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode-examples
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode-examples
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode-examples && git describe --tags | sed -e 's#^rel/v##' -e 's#-.*##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- if [ "${FULL_VERSION}" = "${VERSION}" ] ; then
- GRADLE_ARGS=""
- curl -L -s https://downloads.apache.org/geode/${VERSION}/apache-geode-examples-${VERSION}-src.tgz > src.tgz
- else
- STAGING_MAVEN=$(cat geode-examples/gradle.properties | grep geodeRepositoryUrl | awk '{print $3}')
- GRADLE_ARGS="-PgeodeReleaseUrl=https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION} -PgeodeRepositoryUrl=${STAGING_MAVEN}"
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-examples-${VERSION}-src.tgz > src.tgz
- fi
- tar xzf src.tgz
- cd apache-geode-examples-${VERSION}-src
- java -version
- ./gradlew ${GRADLE_ARGS} build runAll
- - name: build-geode-native-from-tag
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode-native
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode-native
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode-native && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- #use geode from binary dist
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-${VERSION}.tgz > geode-bin.tgz
- tar xzf geode-bin.tgz
- # needed to get cmake >= 3.12
- echo 'APT::Default-Release "stable";' >> /etc/apt/apt.conf.d/99defaultrelease
- echo 'deb http://ftp.de.debian.org/debian/ stable main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- echo 'deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- echo 'deb http://security.debian.org/ stable/updates main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y cmake openssl doxygen build-essential libssl-dev zlib1g-dev
- cd geode-native
- mkdir build
- cd build
- cmake .. -DGEODE_ROOT=$PWD/../../apache-geode-${VERSION}
- cmake --build . -- -j 4
- cmake --build . --target docs -- -j 4
- cmake --build . --target install -- -j 4
- - name: build-geode-native-from-src-tgz
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode-native
- trigger: true
- - get: geode
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode-native
- - name: geode
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode-native && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- # build geode from source
- cd geode
- ./gradlew build -x test -x javadoc -x rat -x pmdMain
- cd ..
- # needed to get cmake >= 3.12
- echo 'APT::Default-Release "stable";' >> /etc/apt/apt.conf.d/99defaultrelease
- echo 'deb http://ftp.de.debian.org/debian/ stable main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- echo 'deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- echo 'deb http://security.debian.org/ stable/updates main contrib non-free' >> /etc/apt/sources.list.d/stable.list
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y cmake openssl doxygen build-essential libssl-dev zlib1g-dev
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/apache-geode-native-${VERSION}-src.tgz > src.tgz
- tar xzf src.tgz
- cd apache-geode-native-${VERSION}-src
- mkdir build
- cd build
- cmake .. -DGEODE_ROOT=$PWD/../../geode/geode-assembly/build/install/apache-geode
- cmake --build . -- -j 4
- cmake --build . --target docs -- -j 4
- cmake --build . --target install -- -j 4
- - name: upthewaterspout
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - get: upthewaterspout-tests
- - get: geode-examples
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- - name: upthewaterspout-tests
- - name: geode-examples
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git gpg
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- STAGING_MAVEN=$(cat geode-examples/gradle.properties | grep geodeRepositoryUrl | awk '{print $3}')
- cd upthewaterspout-tests
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/KEYS > KEYS
- 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
- public: true
- plan:
- - get: geode-benchmarks
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode-benchmarks
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends unzip git keychain
- FULL_VERSION=$(cd geode-benchmarks && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- curl -L -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
- mkdir -p ~/.ssh
- ssh-keygen -m PEM -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- apt-get update
- apt-get install openssh-server --no-install-recommends -y
- echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
- service ssh start
- echo 'tasks.withType(JavaCompile) { options.encoding = "UTF-8" }' >> geode-benchmarks/build.gradle
- ./gradlew build test
- - name: verify-expected-files-and-keys
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- platform: linux
- run:
- path: /bin/bash
- args:
- - -ec
- - |
- set -ex
- apt update -q
- apt install -qq -y --no-install-recommends git gpg
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- curl -L -s https://dist.apache.org/repos/dist/dev/geode/KEYS > KEYS
- gpg --import KEYS
- url=https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}
- function verifyArtifactSizeSignatureLicenseNoticeAndCopyright {
- tld=$1
- file=${tld}.tgz
- minfilesize=$2
- maxfilesize=$3
- echo Verifying $file...
- asc=${file}.asc
- sha=${file}.sha256
- sum=sha256sum
- curl -L -s $url/$file > $file
- actualfilesize=$(wc -c < $file)
- if [ $actualfilesize -lt $minfilesize ] ; then
- echo "File size of $file is only $actualfilesize bytes, expected at least $minfilesize"
- return 1
- fi
- if [ $actualfilesize -gt $maxfilesize ] ; then
- echo "File size of $file is $actualfilesize, expected no more than $maxfilesize bytes"
- return 1
- fi
- curl -L -s $url/$asc > $asc
- curl -L -s $url/$sha > $sha
- gpg --verify $asc
- $sum -c $sha
- echo $file >> exp
- echo $asc >> exp
- echo $sha >> exp
- #check that each archive contains all content below a top-level-directory with the same name as the file (sans .tgz)
- ! tar tvzf $file | grep -v " ${tld}/"
- #check that each archive contains LICENSE and NOTICE
- tar tvzf $file | grep " ${tld}/LICENSE"
- tar tvzf $file | grep " ${tld}/NOTICE"
- #check that NOTICE contains current copyright year and correctly assigns copyright to ASF
- tar xzf $file "${tld}/NOTICE"
- year=$(date +%Y)
- grep "Copyright" "${tld}/NOTICE"
- grep -q "Copyright.*${year}.*Apache Software Foundation" "${tld}/NOTICE"
- #check that the declared license is of the correct type
- tar xzf $file "${tld}/LICENSE"
- head -1 "${tld}/LICENSE" | grep -q "Apache License"
- }
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright apache-geode-${VERSION}-src 10000000 30000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright apache-geode-${VERSION} 100000000 150000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright apache-geode-examples-${VERSION}-src 50000 2000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright apache-geode-native-${VERSION}-src 2000000 4000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright apache-geode-benchmarks-${VERSION}-src 50000 500000
- curl -L -s ${url}/ | awk '/>..</{next}/<li>/{gsub(/ *<[^>]*>/,"");print}' | sort > actual-file-list
- sort < exp > expected-file-list
- set +x
- echo ""
- if diff -q expected-file-list actual-file-list ; then
- echo "The file list at $url matches what is expected and all signatures were verified :)"
- else
- echo "Expected:"
- cat expected-file-list
- echo ""
- echo "Actual:"
- cat actual-file-list
- echo ""
- echo "Diff:"
- diff expected-file-list actual-file-list
- exit 1
- fi
- - name: verify-no-binaries
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- platform: linux
- run:
- path: /bin/bash
- args:
- - -ec
- - |
- set -e
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- VERSION=$(echo $FULL_VERSION|sed -e 's/\.RC.*//')
- url=https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}
- BINARY_EXTENSIONS="jar|war|class|exe|dll|o|so|obj|bin|out|pyc"
- echo "Source artifacts should not contain any files ending in$(echo "|${BINARY_EXTENSIONS}"|sed 's/[^a-z]/ ./g')"
- echo ""
- function verifyNoBinaries {
- file=$1
- echo ""
- echo Checking $file...
- curl -L -s $url/$file | tar tvzf - | egrep '\.('"${BINARY_EXTENSIONS}"')$' | tee -a bins
- }
- verifyNoBinaries apache-geode-${VERSION}-src.tgz
- verifyNoBinaries apache-geode-examples-${VERSION}-src.tgz
- verifyNoBinaries apache-geode-native-${VERSION}-src.tgz
- verifyNoBinaries apache-geode-benchmarks-${VERSION}-src.tgz
- echo ""
- echo ""
- if grep -q . bins ; then
- echo Binary files were found!
- exit 1
- else
- echo All good
- fi
- - name: verify-license
- serial: true
- public: true
- plan:
- - aggregate:
- - get: geode
- trigger: true
- - aggregate:
- - get: geode-develop
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: bellsoft/liberica-openjdk-debian
- tag: 8
- inputs:
- - name: geode
- - name: geode-develop
- platform: linux
- run:
- path: /bin/bash
- args:
- - -ec
- - |
- set -e
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git describe --tags | sed -e 's#^rel/v##')
- ./geode-develop/dev-tools/release/license_review.sh -v $FULL_VERSION
-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-support-${VERSION_MM//./-}-rc -c $PIPEYML
-fly -t concourse.apachegeode-ci.info-main unpause-pipeline -p apache-support-${VERSION_MM//./-}-rc
-fly -t concourse.apachegeode-ci.info-main expose-pipeline -p apache-support-${VERSION_MM//./-}-rc
-rm $PIPEYML
diff --git a/dev-tools/release/end_of_support.sh b/dev-tools/release/end_of_support.sh
deleted file mode 100755
index 38f69b9..0000000
--- a/dev-tools/release/end_of_support.sh
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/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: end_of_support.sh -v version_number"
- echo " -v The #.# version number of the support branch that is no longer supported"
- exit 1
-}
-
-VERSION_MM=""
-
-while getopts ":v:" opt; do
- case ${opt} in
- v )
- VERSION_MM=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${VERSION_MM} == "" ]] ; then
- usage
-fi
-
-if [[ $VERSION_MM =~ ^([0-9]+\.[0-9]+)$ ]]; then
- true
-else
- echo "Malformed version number ${VERSION_MM}. Example valid version: 1.9"
- exit 1
-fi
-
-set -x
-WORKSPACE=$PWD/support-${VERSION_MM}-workspace
-GEODE=$WORKSPACE/geode
-GEODE_EXAMPLES=$WORKSPACE/geode-examples
-GEODE_NATIVE=$WORKSPACE/geode-native
-GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
-set +x
-
-function failMsg1 {
- echo "ERROR: script did NOT complete successfully. Please try again."
-}
-trap failMsg1 ERR
-
-
-echo ""
-echo "============================================================"
-echo "Cleaning workspace directory..."
-echo "============================================================"
-set -x
-rm -rf $WORKSPACE
-mkdir -p $WORKSPACE
-cd $WORKSPACE
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Cloning repositories..."
-echo "============================================================"
-set -x
-git clone --branch support/${VERSION_MM} git@github.com:apache/geode.git
-git clone --branch support/${VERSION_MM} git@github.com:apache/geode-examples.git
-git clone --branch support/${VERSION_MM} git@github.com:apache/geode-native.git
-git clone --branch support/${VERSION_MM} git@github.com:apache/geode-benchmarks.git
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Confirming end of support"
-echo "============================================================"
-cd ${GEODE}
-echo "Geode support branches should be kept for at least 9 months after initial release."
-echo "Geode ${VERSION_MM}.0 was released about $(git log -1 --format=%ar rel/v${VERSION_MM}.0)"
-read -p "To continue and delete support/${VERSION_MM} and all associated pipelines, type YES if you are sure: "
-if [ "$REPLY" != "YES" ] ; then
- echo cancelled
- exit 1
-fi
-
-
-function failMsg2 {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 65-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg2 $LINENO' ERR
-
-
-echo ""
-echo "============================================================"
-echo "Destroying pipelines"
-echo "============================================================"
-set -x
-cd ${0%/*}/../../ci/pipelines/meta
-DEVELOP_META=$(pwd)
-cd ${GEODE}
-fly -t concourse.apachegeode-ci.info-main login --team-name main --concourse-url https://concourse.apachegeode-ci.info/
-${DEVELOP_META}/destroy_pipelines.sh
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Destroying support branches"
-echo "============================================================"
-for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git checkout develop
- git push origin --delete support/${VERSION_MM}
- git branch -D support/${VERSION_MM}
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Cleaning up RC tags"
-echo "============================================================"
-for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git tag | grep "^rel/v${VERSION_MM}.*RC" | while read RCTAG ; do
- git push origin --delete "$RCTAG"
- done
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo 'Done shutting down the support branch!'
-echo "============================================================"
-echo "Don't forget to remove the JIRA Release placeholder for any future ${VERSION_MM}.x"
-echo "Probably also a good idea to announce on the dev list that support/${VERSION_MM} has expired"
diff --git a/dev-tools/release/license_review.sh b/dev-tools/release/license_review.sh
deleted file mode 100755
index 7751ecc..0000000
--- a/dev-tools/release/license_review.sh
+++ /dev/null
@@ -1,362 +0,0 @@
-#!/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: license_review.sh -v version_number_or_tgz [-p previous_version_number_or_tgz]"
- echo " -v The #.#.#.RC# or #.#.# version number to review -or- a path or URL to .tgz -or- 'HEAD'"
- echo " -p The #.#.#.RC# or #.#.# version number to compare against -or- a path or URL to .tgz"
- echo " -n No license check (useful if you just want the version comparison)"
- echo " -s No source license check (just check the binary license)"
- exit 1
-}
-
-
-while getopts ":v:p:ns" opt; do
- case ${opt} in
- v )
- NEW_VERSION=$OPTARG
- ;;
- p )
- OLD_VERSION=$OPTARG
- ;;
- n )
- SKIP_LICENSES=true
- ;;
- s )
- SKIP_SRC_LICENSE=true
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [ -z "${NEW_VERSION}" ] ; then
- usage
-fi
-
-WORKSPACE=$(pwd)/license_tmp
-DOWNLOAD=${WORKSPACE}/download
-EXTRACT=${WORKSPACE}/extracted
-mkdir -p ${DOWNLOAD}
-mkdir -p ${EXTRACT}
-root=$0
-root=${root%/dev-tools*}
-
-if [ "$NEW_VERSION" = "HEAD" ] ; then
- licFromWs=true
- rm -Rf $root/geode-assembly/build/distributions
-fi
-
-
-function resolve() {
- [ -n "$1" ] || return
- spec=$1
- suffix=$2
- if [ "HEAD" = "$spec" ] ; then
- [ "${suffix}" = "-src" ] && target=srcDistTar || target=distTar
- (cd $root && ./gradlew ${target} 1>&2)
- spec=$root/geode-assembly/build/distributions/$(cd $root/geode-assembly/build/distributions && ls -t | grep -v sha256 | grep "apache-geode-.*-build.[0-9][0-9]*${suffix}.tgz" | tail -1)
- [ -r "$spec" ] || echo "Build not found: $spec" 1>&2
- [ -r "$spec" ]
- fi
-
- if [[ $spec =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.(RC[0-9]+)$ ]]; then
- mmp=$(echo $spec | sed 's/.RC.*//')
- #bare RC version -> RC url
- spec=https://dist.apache.org/repos/dist/dev/geode/${spec}/apache-geode-${mmp}${suffix}.tgz
- elif [[ $spec =~ ^([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
- #bare released version -> release url
- spec=https://downloads.apache.org/geode/${spec}/apache-geode-${spec}${suffix}.tgz
- elif echo "$spec" | grep -q '^http.*tgz$' ; then
- #tgz url
- echo "$spec" | grep -q -- "${suffix}.tgz$" || return
- elif [ -r "$spec" ] && echo "$spec" | grep -q 'tgz$' ; then
- #tgz file present locally
- echo "$spec" | grep -q -- "${suffix}.tgz$" || return
- else
- #unsupported
- return
- fi
-
- #download if url (and not already downloaded)
- if echo "$spec" | grep -q '^http.*tgz$' ; then
- filename=$(echo $spec | sed 's#.*/##')
- [ -r ${DOWNLOAD}/$filename ] || curl -L "$spec" > ${DOWNLOAD}/$filename
- spec=${DOWNLOAD}/$filename
- fi
-
- #extract it (if not already extracted)
- dirname=$(echo $spec | sed -e 's#.*/##' -e 's#.tgz$##')
- [ "${licFromWs}" = "true" ] && rm -Rf ${EXTRACT}/$dirname
- [ -d ${EXTRACT}/$dirname ] || tar xzf $spec -C ${EXTRACT}
- [ -d ${EXTRACT}/$dirname ] && echo ${EXTRACT}/$dirname
-}
-
-NEW_DIR=$(resolve $NEW_VERSION)
-
-if [ -z "${NEW_DIR}" ] || [ ! -d "${NEW_DIR}" ] ; then
- usage
-fi
-
-if [ "${licFromWs}" = "true" ] && ! [ "$SKIP_LICENSES" = "true" ] && ! [ "$SKIP_SRC_LICENSE" = "true" ] ; then
- NEW_SRC_DIR=$(resolve $NEW_VERSION -src)
-fi
-
-function banner() {
- echo ""
- echo "$@" | sed 's/./=/g'
- echo "$@"
- echo "$@" | sed 's/./=/g'
-}
-
-function listJarsInWar() {
- war=$1
- jar tvf $war | awk '/.jar$/{print "'"$war"'/"$8}'
-}
-
-function extractLicense() {
- war=$1
- rm -Rf tmpl
- mkdir tmpl
- cd tmpl
- jar xf ../$war META-INF/LICENSE
- cd ..
- cp tmpl/META-INF/LICENSE $2
- rm -Rf tmpl
-}
-
-function generateList() {
- dir=$1
- banner "Listing 3rd-party deps in ${dir##*/}"
-
- #also extract geode jar licenses for later checking
- (cd $dir; find . -name '*.jar' | egrep '(geode|gfsh)-' | sort | sed 's#^./##' | while read geodejar ; do
- extractLicense $geodejar ${geodejar%.jar}.LICENSE
- done)
-
- echo "**** ${dir##*/} jars ****" | tr '[:lower:]-' '[:upper:] ' > $dir/report1
- (cd $dir; find . -name '*.jar' | grep -v geode- | grep -v gfsh- | sort | sed 's#^./##' | tee -a report1)
-
- echo "**** ${dir##*/} wars ****" | tr '[:lower:]-' '[:upper:] ' > $dir/report2
- (cd $dir; find . -name '*.war' | sort | sed 's#^./##' | while read war ; do
- listJarsInWar $war | sed 's#-[v0-9][-0-9.SNAPSHOTbuild]*[.]#.#' | sort
- extractLicense $war ${war%.war}.LICENSE
- done | tee -a report2)
-}
-
-generateList $NEW_DIR
-if [ -n "${OLD_VERSION}" ] ; then
- OLD_DIR=$(resolve $OLD_VERSION)
- generateList $OLD_DIR
-
- banner "Diffing 3rd-party deps changes from ${OLD_DIR##*/} to ${NEW_DIR##*/}"
- for REPORT in report1 report2 ; do
- diff -y -W $(tput cols) $OLD_DIR/$REPORT $NEW_DIR/$REPORT | grep '[<|>]'
- done
-fi
-
-[ "$SKIP_LICENSES" = "true" ] && exit 0
-
-banner "Checking that all binary licenses are identical"
-sizes=$(find $NEW_DIR -name '*LICENSE' | xargs wc -c | grep -v total | awk '{print $1}' | sort -u | wc -l)
-if [ $sizes -gt 1 ] ; then
- echo "NOT all LICENSES are the same:"
- (cd $NEW_DIR; find * -name '*LICENSE' | xargs wc -c | grep -v total | sort)
- result=1
-else
- echo 'All Good!'
-fi
-
-function isApache2() {
- apache="HikariCP
-accessors-smart
-byte-buddy
-classmate
-commons-beanutils
-commons-codec
-commons-collections
-commons-digester
-commons-fileupload
-commons-io
-commons-lang3
-commons-logging
-commons-math3
-commons-modeler
-commons-text
-commons-validator
-content-type
-error_prone_annotations
-failureaccess
-fastutil
-findbugs-annotations
-geo
-guava
-grumpy-
-httpclient
-httpcore
-j2objc-annotations
-jackson-
-jcip-annotations
-jna
-json-path
-json-smart
-jsr305
-jetty-
-jgroups
-jna-
-lang-tag
-listenablefuture
-log4j-
-lucene-
-mapstruct
-micrometer-core
-netty-all
-nimbus-jose-jwt
-oauth2-oidc-sdk
-rmiio
-shiro-
-snappy
-spring-
-springfox-
-swagger-annotations
-swagger-models"
- echo "$1" | egrep -q "(mx4j-remote|jaxb-api|$(echo -n "$apache" | tr '\n' '|'))"
-}
-function shortenDep() {
- echo "$1" | sed \
- -e 's/-api//' \
- -e 's/-impl//' \
- -e 's/-java//' \
- -e 's/shiro-.*/shiro-*/' \
- -e 's/jackson-.*/shiro-*/' \
- -e 's/jetty-.*/jetty-*/' \
- -e 's/jna-.*/jna-*/' \
- -e 's/lucene-.*/lucene-*/' \
- -e 's/log4j-.*/log4j-*/' \
- -e 's/mx4j-.*/mx4j*/' \
- -e 's/spring-.*/spring-*/' \
- -e 's/springfox-.*/springfox-*/'
-}
-for REPORT in report1 report2 ; do
- [ "$REPORT" = "report1" ] && topic=JAR || topic=WAR
- if [ "${licFromWs}" = "true" ] ; then
- LICENSE=${root}/geode-assembly/src/main/dist/LICENSE
- else
- [ "$REPORT" = "report1" ] && LICENSE=${NEW_DIR}/LICENSE || LICENSE=${NEW_DIR}/tools/Pulse/$(cd ${NEW_DIR}/tools/Pulse; ls | grep LICENSE)
- fi
- LICENSE=${LICENSE#./}
- banner "Comparing $topic dep versions in ${NEW_DIR##*/} to $LICENSE"
- rm -f missing-$REPORT apache-$REPORT
- touch missing-$REPORT apache-$REPORT
- tail -n +2 $NEW_DIR/$REPORT | sed -e 's#.*/##' -e 's/.jar//' | sed 's/-\([0-9]\)/ \1/' | sort -u | grep -v '^ra$' | while read dep ver; do
- if isApache2 $dep ; then
- echo $dep $ver >> apache-$REPORT
- else
- echo $(shortenDep $dep) $ver
- fi
- done | sort -u | while read dep ver ; do
- if grep -qi "${dep//-/.}.*$ver" $LICENSE ; then
- echo "$dep $ver Found (and version matches)"
- elif grep -qi $dep $LICENSE ; then
- match="$(grep -i $dep $LICENSE | grep -v License | head -1)"
- if echo $match | grep -q '[0-9][0-9]*[.][0-9][0-9]*' ; then
- echo "$dep FOUND WITH A DIFFERENT VERSION, PLEASE UPDATE TO $ver:" >> missing-$REPORT
- echo "$match" >> missing-$REPORT
- else
- echo "$dep $ver probably found (without version):"
- echo "$match"
- fi
- else
- echo "$LICENSE FAILS TO MENTION $dep v$ver" >> missing-$REPORT
- fi
- done
- echo $(wc -l < apache-$REPORT) "deps are licensed under Apache 2.0 (no need to mention individually)"
- rm apache-$REPORT
- if [ $(wc -l < missing-$REPORT) -eq 0 ] ; then
- echo 'All Good!'
- else
- cat missing-$REPORT
- rm missing-$REPORT
- result=1
- fi
-done
-
-function checkMissing() {
- rm -f missing
- touch missing
- grep '^ - ' | sed -e 's/^ - //' -e 's/, .*//' -e 's/ (.*//' -e 's/s* v.*//' -e 's/ /.?/g' | while read f; do
- if (cd ${root} && git grep -Eqi "$f" -- ':!LICENSE' ':!**/LICENSE' ':!NOTICE' ':!**/NOTICE') ; then
- true
- #echo "${f//\?/} found"
- else
- echo "${f//\?/} appears to be unused. Please remove from $1" >> missing
- fi
- done
- if [ $(wc -l < missing) -eq 0 ] ; then
- echo 'All Good!'
- rm missing
- else
- cat missing
- rm missing
- return 1
- fi
-}
-
-if [ "${licFromWs}" = "true" ] ; then
- banner "Checking that binary license is a superset of src license"
- SLICENSE=${root}/LICENSE
- BLICENSE=${root}/geode-assembly/src/main/dist/LICENSE
- if diff $SLICENSE $BLICENSE | grep -q '^<' ; then
- echo $(diff $SLICENSE $BLICENSE | grep '^<' | wc -l) "lines appear in $SLICENSE that were not found in $BLICENSE."
- echo "Please ensure the binary license is a strict superset of the source license."
- echo "(diff $SLICENSE $BLICENSE)"
- result=1
- else
- echo 'All Good!'
- fi
-
- banner "Checking that binary license is correct"
- if diff -q ${BLICENSE} ${NEW_DIR}/LICENSE ; then
- echo 'All Good!'
- else
- echo "Incorrect LICENSE in binary distribution"
- echo "Expected:" $(wc -c ${BLICENSE})
- echo "Actual:" $(wc -c ${NEW_DIR}/LICENSE)
- fi
-
- if ! [ "$SKIP_SRC_LICENSE" = "true" ] ; then
- banner "Checking that source license is correct"
- if diff -q ${SLICENSE} ${NEW_SRC_DIR}/LICENSE ; then
- echo 'All Good!'
- else
- echo "Incorrect LICENSE in source distribution"
- echo "Expected:" $(wc -c ${SLICENSE})
- echo "Actual:" $(wc -c ${NEW_SRC_DIR}/LICENSE)
- fi
-
- banner "Checking references in source license"
- cat $SLICENSE | checkMissing $SLICENSE
-
- banner "Checking references in binary license"
- cat $SLICENSE $SLICENSE $BLICENSE | sort | uniq -u | checkMissing $BLICENSE
- fi
-fi
-
-exit $result
diff --git a/dev-tools/release/prepare_rc.sh b/dev-tools/release/prepare_rc.sh
deleted file mode 100755
index 382dfdd..0000000
--- a/dev-tools/release/prepare_rc.sh
+++ /dev/null
@@ -1,347 +0,0 @@
-#!/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: prepare_rc -v version_number -k signing_key -a apache_ldap_username"
- echo " -v The #.#.#.RC# version number"
- echo " -k Your 8 digit GPG key id (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
-}
-
-checkCommand() {
- COMMAND=$1
- if ! [[ -x "$(command -v $COMMAND)" ]]; then
- echo "$COMMAND must be installed"
- exit 1
- fi
-}
-
-FULL_VERSION=""
-SIGNING_KEY=""
-APACHE_USERNAME=""
-
-while getopts ":v:k:a:" opt; do
- case ${opt} in
- v )
- FULL_VERSION=$OPTARG
- ;;
- k )
- SIGNING_KEY=$OPTARG
- ;;
- a )
- APACHE_USERNAME=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${FULL_VERSION} == "" ]] || [[ ${SIGNING_KEY} == "" ]] || [[ ${APACHE_USERNAME} == "" ]]; then
- usage
-fi
-
-if [[ $SIGNING_KEY =~ ^[0-9A-Fa-f]{8}$ ]]; then
- true
-else
- echo "Malformed signing key ${SIGNING_KEY}. Example valid key: ABCD1234"
- exit 1
-fi
-
-if [[ $FULL_VERSION =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.(RC[0-9]+)$ ]]; then
- VERSION=${BASH_REMATCH[1]}
-else
- echo "Malformed version number ${FULL_VERSION}. Example valid version: 1.9.0.RC1"
- exit 1
-fi
-
-VERSION_MM=${VERSION%.*}
-
-checkCommand gpg
-checkCommand cmake
-checkCommand svn
-checkCommand doxygen
-
-echo ""
-echo "============================================================"
-echo "Checking gpg... (you will be prompted to enter passphrase)"
-echo "============================================================"
-SECRING=~/.gnupg/secring.gpg
-! [ -r $SECRING ] || SECRING=/dev/null
-if gpg --export-secret-keys > ${SECRING} && echo "1234" | gpg -o /dev/null --local-user ${SIGNING_KEY} -as - ; then
- echo "You entered the correct passphrase; proceeding."
- echo "Please note, you will still need to enter it a few more times."
- echo "PLEASE NOTE, the very last prompt will be for your apache password (not gpg). Pay attention as the prompts look very similar."
-else
- echo "Hmm, gpg seems unhappy. Check that you entered correct passphrase or refer to release wiki for troubleshooting."
- exit 1
-fi
-if ! gpg --list-keys ${SIGNING_KEY} | grep -q "${APACHE_USERNAME}@apache.org" ; then
- echo "Please specify a gpg key that is associated with your apache email address."
- echo "Expected: ${APACHE_USERNAME}@apache.org"
- echo "Found: $(gpg --list-keys ${SIGNING_KEY} | grep ^uid | sed -e 's/.*<//' -e 's/>.*//')"
- exit 1
-fi
-
-
-set -x
-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
-if which shasum >/dev/null; then
- SHASUM="shasum -a 256"
-else
- SHASUM=sha256sum
-fi
-set +x
-
-
-function failMsg1 {
- echo "ERROR: script did NOT complete successfully. Please try again."
-}
-trap failMsg1 ERR
-
-
-echo ""
-echo "============================================================"
-echo "Cleaning workspace directory..."
-echo "============================================================"
-set -x
-rm -rf $WORKSPACE
-mkdir -p $WORKSPACE
-cd $WORKSPACE
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Cloning repositories..."
-echo "============================================================"
-set -x
-git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode.git
-#(cd geode; git reset --hard $desired_sha) #uncomment if latest commit is not the one desired
-git clone --single-branch --branch develop git@github.com:apache/geode.git geode-develop
-git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode-examples.git
-git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode-native.git
-git clone --single-branch --branch develop git@github.com:apache/geode-native.git geode-native-develop
-git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode-benchmarks.git
-git clone --single-branch --branch master git@github.com:Homebrew/homebrew-core.git
-
-svn checkout https://dist.apache.org/repos/dist --depth empty
-svn update --set-depth immediates --parents dist/release/geode
-svn update --set-depth infinity --parents dist/dev/geode
-set +x
-
-for REPO in ${GEODE} ${WORKSPACE}/geode-develop ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ${BREW_DIR} ; do
- cd ${REPO}
- git config user.email "${APACHE_USERNAME}@apache.org"
-done
-
-cd ${GEODE}/../..
-set -x
-${0%/*}/set_copyright.sh ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS}
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Keeping -build.0 suffix"
-echo "============================================================"
-cd ${GEODE}/../..
-set -x
-${0%/*}/set_versions.sh -v ${VERSION} -n -w ${WORKSPACE}
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Building geode..."
-echo "============================================================"
-set -x
-cd ${GEODE}
-git clean -fdx && ./gradlew build -x test publishToMavenLocal -Pversion=${VERSION} -Paskpass -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg
-set +x
-
-
-if [ "${FULL_VERSION##*.RC}" -gt 1 ] ; then
- echo ""
- echo "============================================================"
- echo "Removing previous RC's temporary commit from geode-examples..."
- echo "============================================================"
- set -x
- cd ${GEODE_EXAMPLES}
- git pull
- set +x
- sed -e 's#^geodeRepositoryUrl *=.*#geodeRepositoryUrl =#' \
- -e 's#^geodeReleaseUrl *=.*#geodeReleaseUrl =#' -i.bak gradle.properties
- rm gradle.properties.bak
- set -x
- git add gradle.properties
- if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m 'Revert "temporarily point to staging repo for CI purposes"'
- fi
- set +x
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Building geode-examples..."
-echo "============================================================"
-set -x
-cd ${GEODE_EXAMPLES}
-git clean -dxf && ./gradlew -Pversion=${VERSION} -PsignArchives -PgeodeReleaseUrl="file://${GEODE}/geode-assembly/build/geode-assembly/build/distributions/apache-geode-${VERSION}" -PgeodeRepositoryUrl="file://${HOME}/.m2/repository" -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg build
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Building geode-native..."
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}
-mkdir build
-which brew >/dev/null && OPENSSL_ROOT_DIR=$(brew --prefix openssl) || OPENSSL_ROOT_DIR=$(which openssl)
-cd ${GEODE_NATIVE}/build
-cmake .. -DPRODUCT_VERSION=${VERSION} -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR -DGEODE_ROOT=${GEODE}/geode-assembly/build/install/apache-geode
-cpack -G TGZ --config CPackSourceConfig.cmake
-NCOUT=apache-geode-native-${VERSION}-src.tar.gz
-NCTGZ=apache-geode-native-${VERSION}-src.tgz
-mkdir repkg-temp
-cd repkg-temp
-tar xzf ../${NCOUT}
-rm ../${NCOUT}*
-mv apache-geode-native apache-geode-native-${VERSION}-src
-tar czf ../${NCTGZ} *
-cd ..
-rm -Rf repkg-temp
-gpg --armor -u ${SIGNING_KEY} -b ${NCTGZ}
-${SHASUM} ${NCTGZ} > ${NCTGZ}.sha256
-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}
-${SHASUM} ${BMTAR} > ${BMTAR}.sha256
-set +x
-
-
-function failMsg2 {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 120-$(( errln - 1 ))) and try again"
- echo "For this script only (prepare_rc.sh), it's also safe to just try again from the top"
-}
-trap 'failMsg2 $LINENO' ERR
-
-
-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} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git tag -s -u ${SIGNING_KEY} rel/v${FULL_VERSION} -m "Release candidate ${FULL_VERSION}"
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Copying artifacts to svn directory for publication. The artifacts will not be committed..."
-echo "============================================================"
-set -x
-cd ${SVN_DIR}
-svn rm ${VERSION}.RC* &>/dev/null || true
-cp ${GEODE}/KEYS .
-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
-for f in ${FULL_VERSION}/*.tgz ; do
- if ! [ -r $f.sha256 ] ; then
- echo missing $f.sha256
- exit 1
- fi
- if ! [ -r $f.asc ] ; then
- set -x
- gpg --armor -u ${SIGNING_KEY} -b $f
- set +x
- if ! [ -r $f.asc ] ; then
- echo missing $f.asc
- exit 1
- fi
- fi
- size=$(ls -l $f | awk '{print $5}')
- if [ $size -lt 10000 ] ; then
- echo $f file size is only $size bytes, that seems suspicious.
- exit 1
- fi
-done
-
-set -x
-svn add ${FULL_VERSION}
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Publishing artifacts to nexus staging manager..."
-echo "PLEASE NOTE, the 2nd prompt will be for your apache (not gpg) password. Pay attention as the prompts look very similar."
-echo "============================================================"
-set -x
-cd ${GEODE}
-./gradlew publish -Pversion=${VERSION} -Paskpass -Psigning.keyId=${SIGNING_KEY} -Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg -PmavenUsername=${APACHE_USERNAME}
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Done preparing the release and staging to nexus! Next steps:"
-echo "============================================================"
-cd ${GEODE}/../..
-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>"
diff --git a/dev-tools/release/print_rc_email.sh b/dev-tools/release/print_rc_email.sh
deleted file mode 100755
index 29e45fe..0000000
--- a/dev-tools/release/print_rc_email.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/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=""
-MAVEN=""
-
-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]}
-else
- echo "Malformed version number ${FULL_VERSION}. Example valid number - 1.9.0.RC1"
- exit 1
-fi
-
-VERSION_MM=${VERSION%.*}
-
-#support mac or linux date arithmetic syntax
-DEADLINE=$(date --date '+5 days' '+%a, %B %d %Y' 2>/dev/null || date -v +5d "+%a, %B %d %Y" 2>/dev/null || echo "<5 days from now>")
-
-cat << EOF
-Hello Geode Dev Community,
-
-This is a release candidate for Apache Geode version ${FULL_VERSION}.
-Thanks to all the community members for their contributions to this release!
-
-Please do a review and give your feedback, including the checks you performed.
-
-Voting deadline:
-3PM PST ${DEADLINE}.
-
-Please note that we are voting upon the source tag:
-rel/v${FULL_VERSION}
-
-Release notes:
-https://cwiki.apache.org/confluence/display/GEODE/Release+Notes#ReleaseNotes-${VERSION}
-
-Source and binary distributions:
-https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION}/
-
-Maven staging repo:
-https://repository.apache.org/content/repositories/orgapachegeode-${MAVEN}
-
-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-support-${VERSION_MM//./-}-main
-https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-${VERSION_MM//./-}-rc
-
-Geode's KEYS file containing PGP keys we use to sign the release:
-https://github.com/apache/geode/blob/develop/KEYS
-
-Command to run geode-examples:
-./gradlew -PgeodeReleaseUrl=https://dist.apache.org/repos/dist/dev/geode/${FULL_VERSION} -PgeodeRepositoryUrl=https://repository.apache.org/content/repositories/orgapachegeode-${MAVEN} build runAll
-
-Regards
-$(git config --get user.name)
-EOF
diff --git a/dev-tools/release/promote_rc.sh b/dev-tools/release/promote_rc.sh
deleted file mode 100755
index 9d3baaf..0000000
--- a/dev-tools/release/promote_rc.sh
+++ /dev/null
@@ -1,507 +0,0 @@
-#!/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: promote_rc.sh -v version_number -k your_full_gpg_public_key -g your_github_username"
- echo " -v The #.#.#.RC# version number to ship"
- echo " -k Your 8 digit GPG key id (the last 8 digits of your gpg fingerprint)"
- echo " -g Your github username"
- exit 1
-}
-
-FULL_VERSION=""
-SIGNING_KEY=""
-GITHUB_USER=""
-
-while getopts ":v:k:g:" opt; do
- case ${opt} in
- v )
- FULL_VERSION=$OPTARG
- ;;
- k )
- SIGNING_KEY=$OPTARG
- ;;
- g )
- GITHUB_USER=$OPTARG
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${FULL_VERSION} == "" ]] || [[ ${SIGNING_KEY} == "" ]] || [[ ${GITHUB_USER} == "" ]]; then
- usage
-fi
-
-SIGNING_KEY=$(gpg --fingerprint "${SIGNING_KEY}" | tr -d ' ' | grep "${SIGNING_KEY}" | tail -1)
-
-SIGNING_KEY=$(echo $SIGNING_KEY|sed 's/[^0-9A-Fa-f]//g')
-if [[ $SIGNING_KEY =~ ^[0-9A-Fa-f]{40}$ ]]; then
- true
-else
- echo "Malformed signing key ${SIGNING_KEY}. Example valid key: ABCD1234"
- exit 1
-fi
-
-if [[ $FULL_VERSION =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.(RC[0-9]+)$ ]]; then
- VERSION=${BASH_REMATCH[1]}
-else
- echo "Malformed version number ${FULL_VERSION}. Example valid version: 1.9.0.RC1"
- exit 1
-fi
-
-VERSION_MM=${VERSION%.*}
-
-set -x
-WORKSPACE=$PWD/release-${VERSION}-workspace
-GEODE=$WORKSPACE/geode
-GEODE_DEVELOP=$WORKSPACE/geode-develop
-GEODE_EXAMPLES=$WORKSPACE/geode-examples
-GEODE_NATIVE=$WORKSPACE/geode-native
-GEODE_NATIVE_DEVELOP=$WORKSPACE/geode-native-develop
-GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
-BREW_DIR=$WORKSPACE/homebrew-core
-SVN_DIR=$WORKSPACE/dist/dev/geode
-set +x
-
-if [ -d "$GEODE" ] && [ -d "$GEODE_DEVELOP" ] && [ -d "$GEODE_EXAMPLES" ] && [ -d "$GEODE_NATIVE" ] && [ -d "$GEODE_NATIVE_DEVELOP" ] && [ -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"
- exit 1
-fi
-
-
-function failMsg {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 116-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg $LINENO' ERR
-
-
-echo ""
-echo "============================================================"
-echo "Checking for later versions..."
-echo "============================================================"
-cd ${GEODE_DEVELOP}
-latestnv=$(git tag| grep '^rel/v' | grep -v RC | cut -c6- | egrep '^[0-9]+\.[0-9]+\.[0-9]+$' | awk -F. '/KEYS/{next}{print 1000000*$1+1000*$2+$3,$1"."$2"."$3}' | sort -n | tail -1)
-latestn=$(echo $latestnv | awk '{print $1}')
-latestv=$(echo $latestnv | awk '{print $2}')
-thisre=$(echo $VERSION | awk -F. '/KEYS/{next}{print 1000000*$1+1000*$2+$3}')
-if [ $latestn -gt $thisre ] ; then
- LATER=$latestv
- echo "Later version $LATER found; $VERSION will not be merged to master or tagged as 'latest' in docker."
-else
- echo "No later versions found; $VERSION will be tagged as 'latest' in docker and merged to master"
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Releasing artifacts to mirror sites..."
-echo "(note: must be logged in to svn as a PMC member or this will fail)"
-echo "============================================================"
-set -x
-cd ${SVN_DIR}/../..
-svn update
-svn mv dev/geode/${FULL_VERSION} release/geode/${VERSION}
-cp dev/geode/KEYS release/geode/KEYS
-svn commit -m "Releasing Apache Geode ${VERSION} distribution"
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Tagging ${FULL_VERSION} as ${VERSION} and pushing tags..."
-echo "============================================================"
-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}
- git push origin rel/v${VERSION}
- set +x
-done
-
-
-echo ""
-echo "============================================================"
-echo "Waiting for artifacts to publish to downloads.apache.org..."
-echo "============================================================"
-for suffix in "" .asc .sha256 ; do
- file=apache-geode-${VERSION}.tgz
- url=https://downloads.apache.org/geode/${VERSION}/${file}${suffix}
- expectedsize=$(cd ${SVN_DIR}/../../release/geode/${VERSION}; ls -l ${file}${suffix} | awk '{print $5}')
- actualsize=0
- while [ $expectedsize -ne $actualsize ] ; do
- while ! curl -s --output /dev/null --head --fail "$url"; do
- echo -n .
- sleep 3
- done
- actualsize=$(curl -s --head "$url" | grep "Content-Length" | awk '{print $2}' | tr -d '\r')
- done
- echo "$url exists and is correct size"
-done
-
-
-echo ""
-echo "============================================================"
-if [ -n "$LATER" ] ; then
- echo "NOT updating brew to avoid overwriting newer version $LATER"
- echo "============================================================"
-else
- echo "Updating brew"
- echo "============================================================"
- set -x
- cd ${BREW_DIR}/Formula
- git pull
- git remote add myfork git@github.com:${GITHUB_USER}/homebrew-core.git || true
- if ! git fetch myfork ; then
- echo "Please fork https://github.com/Homebrew/homebrew-core"
- exit 1
- fi
- git checkout -b apache-geode-${VERSION}
- GEODE_SHA=$(awk '{print $1}' < $WORKSPACE/dist/release/geode/${VERSION}/apache-geode-${VERSION}.tgz.sha256)
- set +x
- sed -e 's# *url ".*# url "https://www.apache.org/dyn/closer.lua?path=geode/'"${VERSION}"'/apache-geode-'"${VERSION}"'.tgz"#' \
- -e '/ *mirror ".*www.*/d' \
- -e '/ *mirror ".*downloads.*/d' \
- -e 's# *mirror ".*archive.*# mirror "https://archive.apache.org/dist/geode/'"${VERSION}"'/apache-geode-'"${VERSION}"'.tgz"\
- mirror "https://downloads.apache.org/geode/'"${VERSION}"'/apache-geode-'"${VERSION}"'.tgz"#' \
- -e 's/ *sha256 ".*/ sha256 "'"${GEODE_SHA}"'"/' \
- -i.bak apache-geode.rb
- rm apache-geode.rb.bak
- set -x
- git add apache-geode.rb
- git diff --staged --color | cat
- git commit -m "apache-geode ${VERSION}"
- git push -u myfork
- set +x
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Updating Geode Dockerfile"
-echo "============================================================"
-set -x
-cd ${GEODE}/docker
-git pull -r
-set +x
-sed -e "s/^ENV GEODE_GPG.*/ENV GEODE_GPG ${SIGNING_KEY}/" \
- -e "s/^ENV GEODE_VERSION.*/ENV GEODE_VERSION ${VERSION}/" \
- -e "s/^ENV GEODE_SHA256.*/ENV GEODE_SHA256 ${GEODE_SHA}/" \
- -i.bak Dockerfile
-rm Dockerfile.bak
-set -x
-git add Dockerfile
-git diff --staged --color | cat
-git commit -m "update Dockerfile to apache-geode ${VERSION}"
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Updating Native Dockerfile"
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}/docker
-git pull -r
-set +x
-sed -e "s/^ENV GEODE_VERSION.*/ENV GEODE_VERSION ${VERSION}/" \
- -i.bak Dockerfile
-rm Dockerfile.bak
-set -x
-git add Dockerfile
-git diff --staged --color | cat
-git commit -m "update Dockerfile to apache-geode ${VERSION}"
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Building Geode docker image"
-echo "============================================================"
-set -x
-cd ${GEODE}/docker
-docker build .
-docker build -t apachegeode/geode:${VERSION} .
-[ -n "$LATER" ] || docker build -t apachegeode/geode:latest .
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Building Native docker image"
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}/docker
-docker build .
-docker build -t apachegeode/geode-native-build:${VERSION} .
-[ -n "$LATER" ] || docker build -t apachegeode/geode-native-build:latest .
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Publishing Geode docker image"
-echo "============================================================"
-set -x
-cd ${GEODE}/docker
-docker login
-docker push apachegeode/geode:${VERSION}
-[ -n "$LATER" ] || docker push apachegeode/geode:latest
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Publishing Native docker image"
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}/docker
-docker push apachegeode/geode-native-build:${VERSION}
-[ -n "$LATER" ] || docker push apachegeode/geode-native-build:latest
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Setting Geode version for geode-native"
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}
-git pull
-set +x
-
-#.travis.yml
-# DOCKER_IMAGE="apachegeode/geode-native-build:latest"
-#.lgtm.yml
-# GEODE_VERSION=1.12.0
-
-sed -e "s/geode-native-build:[latest0-9.]*/geode-native-build:${VERSION}/" \
- -e "s/GEODE_VERSION=[0-9.]*/GEODE_VERSION=${VERSION}/" \
- -i.bak .travis.yml .lgtm.yml
-
-rm .travis.yml.bak .lgtm.yml.bak
-set -x
-git add .
-if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "Bumping Geode version to ${VERSION} for CI"
- git push -u origin
-fi
-set +x
-
-
-if [ -z "$LATER" ] ; then
- echo ""
- echo "============================================================"
- echo "Setting Geode version for geode-native develop"
- echo "============================================================"
- set -x
- cd ${GEODE_NATIVE_DEVELOP}
- git pull
- set +x
-
- sed -e "s/geode-native-build:[latest0-9.]*/geode-native-build:latest/" \
- -e "s/GEODE_VERSION=[0-9.]*/GEODE_VERSION=${VERSION}/" \
- -e "s/^ENV GEODE_VERSION.*/ENV GEODE_VERSION ${VERSION}/" \
- -i.bak .travis.yml .lgtm.yml docker/Dockerfile
-
- rm .travis.yml.bak .lgtm.yml.bak docker/Dockerfile.bak
- set -x
- git add .
- if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "Bumping Geode version to ${VERSION} for CI"
- git push -u origin
- fi
- set +x
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Removing temporary commit from geode-examples..."
-echo "============================================================"
-set -x
-cd ${GEODE_EXAMPLES}
-git pull
-set +x
-sed -e 's#^geodeRepositoryUrl *=.*#geodeRepositoryUrl =#' \
- -e 's#^geodeReleaseUrl *=.*#geodeReleaseUrl =#' -i.bak gradle.properties
-rm gradle.properties.bak
-set -x
-git add gradle.properties
-git diff --staged --color | cat
-git commit -m 'Revert "temporarily point to staging repo for CI purposes"'
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-if [ -n "$LATER" ] ; then
- echo "NOT merging to master to avoid overwriting newer version $LATER"
- echo "============================================================"
-else
- echo "Merging to master"
- echo "============================================================"
- for DIR in ${GEODE} ${GEODE_EXAMPLES} ${GEODE_NATIVE} ${GEODE_BENCHMARKS} ; do
- set -x
- cd ${DIR}
- git remote set-branches --add origin master
- git fetch origin
- git checkout support/${VERSION_MM}
- git checkout -b release/${VERSION} rel/v${VERSION}
- #this creates a merge commit that will then be ff-merged to master, so word it from that perspective
- git merge -s ours origin/master -m "Replacing master with contents of rel/v${VERSION}"
- git checkout master
- git merge release/${VERSION}
- git push origin master
- set +x
- done
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Updating 'old' versions and Benchmarks baseline on develop"
-echo "============================================================"
-set -x
-cd ${GEODE_DEVELOP}
-git pull
-git remote add myfork git@github.com:${GITHUB_USER}/geode.git || true
-git checkout -b add-${VERSION}-to-old-versions
-set +x
-PATCH=${VERSION##*.}
-PREV=${VERSION%.*}.$(( PATCH - 1 ))
-#add at the end if this is a new minor or a patch to the latest minor, otherwise add after it's predecessor
-if [ $PATCH -eq 0 ] || grep -q "'${PREV}'].each" settings.gradle ; then
- #before:
- # '1.9.0'].each {
- #after:
- # '1.9.0',
- # '1.10.0'].each {
- sed -e "s/].each/,\\
- '${VERSION}'].each/" \
- -i.bak settings.gradle
-else
- #before:
- # '1.9.0',
- #after:
- # '1.9.0',
- # '1.9.1',
- sed -e "s/'${PREV}',/'${PREV}',\\
- '${VERSION}'/" \
- -i.bak settings.gradle
-fi
-rm settings.gradle.bak
-if [ $PATCH -eq 0 ] ; then
- #also update benchmark baseline for develop to this new minor
- sed -e "s/^ baseline_version:.*/ baseline_version: '${VERSION}'/" \
- -i.bak ci/pipelines/shared/jinja.variables.yml
- rm ci/pipelines/shared/jinja.variables.yml.bak
- BENCHMSG=" and set as Benchmarks baseline"
- set -x
- git add ci/pipelines/shared/jinja.variables.yml
-fi
-set -x
-git add settings.gradle
-git diff --staged --color | cat
-git commit -m "add ${VERSION} to old versions${BENCHMSG} on develop"
-git push -u myfork
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Updating 'old' versions on support/$VERSION_MM"
-echo "============================================================"
-set -x
-cd ${GEODE}
-git pull
-set +x
-#add at the end as this release will always be the latest on this branch
-sed -e "s/].each/,\\
- '${VERSION}'].each/" \
- -i.bak settings.gradle
-rm settings.gradle.bak
-set -x
-git add settings.gradle
-git diff --staged --color | cat
-git commit -m "add ${VERSION} to old versions on support/$VERSION_MM"
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Removing old versions from mirrors"
-echo "============================================================"
-set -x
-cd ${SVN_DIR}/../../release/geode
-svn update --set-depth immediates
-#identify the latest patch release for "N-2" (the latest 3 major.minor releases), remove anything else from mirrors (all releases remain available on non-mirrored archive site)
-RELEASES_TO_KEEP=3
-set +x
-ls | awk -F. '/KEYS/{next}{print 1000000*$1+1000*$2+$3,$1"."$2"."$3}'| sort -n | awk '{mm=$2;sub(/\.[^.]*$/,"",mm);V[mm]=$2}END{for(v in V){print V[v]}}'|tail -$RELEASES_TO_KEEP > ../keep
-echo Keeping releases: $(cat ../keep)
-(ls | grep -v KEYS; cat ../keep ../keep)|sort|uniq -u|while read oldVersion; do
- set -x
- svn rm $oldVersion
- svn commit -m "remove $oldVersion from mirrors (it is still available at http://archive.apache.org/dist/geode)"
- set +x
- [ -z "$DID_REMOVE" ] || DID_REMOVE="${DID_REMOVE} and "
- DID_REMOVE="${DID_REMOVE}${oldVersion}"
-done
-rm ../keep
-
-
-echo ""
-echo "============================================================"
-echo 'Done promoting release artifacts!'
-echo "============================================================"
-cd ${GEODE}/../..
-echo "Next steps:"
-echo "1. Click 'Release' in http://repository.apache.org/ (if you haven't already)"
-echo "2. Go to https://github.com/${GITHUB_USER}/homebrew-core/pull/new/apache-geode-${VERSION} and submit the pull request"
-echo "3. Go to https://github.com/${GITHUB_USER}/geode/pull/new/add-${VERSION}-to-old-versions and create the pull request"
-echo "4. Validate docker image: docker run -it apachegeode/geode"
-echo "5. Bulk-transition JIRA issues fixed in this release to Closed"
-echo "5b.Publish to GitHub (see https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode#ReleasingApacheGeode-PublishtoGitHub)"
-echo "6. Wait overnight for apache mirror sites to sync"
-echo "7. Confirm that your homebrew PR passed its PR checks and was merged to master"
-echo "8. Check that ${VERSION} documentation has been published to https://geode.apache.org/docs/"
-[ -z "$DID_REMOVE" ] || DID_REMOVE=" and ${DID_REMOVE} info has been removed"
-echo "9. Check that ${VERSION} download info has been published to https://geode.apache.org/releases/${DID_REMOVE}"
-MAJOR="${VERSION_MM%.*}"
-MINOR="${VERSION_MM#*.}"
-PATCH="${VERSION##*.}"
-[ "${PATCH}" -ne 0 ] || echo "10. Ask on the dev list for a volunteer to begin the chore of updating 3rd-party dependency versions on develop (see dev-tools/dependencies/README.md)"
-M=$(date --date '+9 months' '+%a, %B %d %Y' 2>/dev/null || date -v +9m "+%a, %B %d %Y" 2>/dev/null || echo "9 months from now")
-[ "${PATCH}" -ne 0 ] || echo "11. Mark your calendar for $M (assuming we release Geode ${MAJOR}.$((MINOR + 3)) on that day) to run ${0%/*}/end_of_support.sh -v ${VERSION_MM}"
-[ "${PATCH}" -ne 0 ] || echo "12. Log in to https://hub.docker.com/repository/docker/apachegeode/geode and update the latest Dockerfile linktext and url to ${VERSION_MM}"
-echo "Bump support pipeline to ${VERSION_MM}.$(( PATCH + 1 )) by plussing BumpPatch in https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-${VERSION_MM//./-}-main?group=Semver%20Management"
-echo "Run ${0%/*}/set_versions.sh -v ${VERSION_MM}.$(( PATCH + 1 )) -s"
-echo 'Finally, send announce email!'
diff --git a/dev-tools/release/set_copyright.sh b/dev-tools/release/set_copyright.sh
deleted file mode 100755
index db52a24..0000000
--- a/dev-tools/release/set_copyright.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/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: set_copyright.sh dirs"
- exit 1
-}
-
-if [[ "$1" == "" ]] ; then
- usage
-fi
-
-function failMsg {
- errln=$1
- echo "ERROR: set_copyright script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 37-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg $LINENO' ERR
-
-
-echo ""
-echo "============================================================"
-echo "Checking Copyright NOTICE and updating year if necessary"
-echo "============================================================"
-set -x
-year=$(date +%Y)
-for DIR in $@ ; do
- cd ${DIR}
- sed \
- -e "2s/ \(20[0-9][0-9]\) / \1-${year} /" \
- -e "2s/-20[0-9][0-9] /-${year} /" \
- -e "2s/${year}-${year}/${year}/" \
- -i.bak NOTICE
- rm -f NOTICE.bak
- git add NOTICE
- if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -a -m "Bumping copyright year to ${year}"
- fi
-done
-set +x
diff --git a/dev-tools/release/set_versions.sh b/dev-tools/release/set_versions.sh
deleted file mode 100755
index 52991c7..0000000
--- a/dev-tools/release/set_versions.sh
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/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: set_versions.sh -v version_number [-s]"
- echo " -v The #.#.# version number for the next release"
- echo " -s configure examples to use latest snapshot instead of release"
- exit 1
-}
-
-FULL_VERSION=""
-
-
-while getopts ":v:snw:" opt; do
- case ${opt} in
- v )
- VERSION=$OPTARG
- ;;
- s )
- EXAMPLES_USE_SNAPSHOTS=true
- ;;
- n )
- NOPUSH=true
- ;;
- w )
- WORKSPACE="$OPTARG"
- CLEAN=false
- ;;
- \? )
- usage
- ;;
- esac
-done
-
-if [[ ${VERSION} == "" ]] ; then
- usage
-fi
-
-if ! [[ $VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
- echo "Malformed version number ${VERSION}. Example valid version: 1.9.0"
- exit 1
-fi
-
-BUILDSUFFIX="-build.0"
-VERSION_MM=${VERSION%.*}
-
-if [ "${EXAMPLES_USE_SNAPSHOTS}" = "true" ] ; then
- GEODEFOREXAMPLES="${VERSION_MM}.+"
-else
- GEODEFOREXAMPLES="${VERSION}"
-fi
-
-set -x
-[ -n "${WORKSPACE}" ] || WORKSPACE=$PWD/release-${VERSION}-workspace
-GEODE=$WORKSPACE/geode
-GEODE_EXAMPLES=$WORKSPACE/geode-examples
-set +x
-
-
-function failMsg1 {
- echo "ERROR: set_versions script did NOT complete successfully. Please try again."
-}
-trap failMsg1 ERR
-
-
-if [ "${CLEAN}" != "false" ] ; then
- echo ""
- echo "============================================================"
- echo "Cleaning workspace directory..."
- echo "============================================================"
- set -x
- rm -rf $WORKSPACE
- mkdir -p $WORKSPACE
- cd $WORKSPACE
- set +x
-
-
- echo ""
- echo "============================================================"
- echo "Cloning repositories..."
- echo "============================================================"
- set -x
- git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode.git
- git clone --single-branch --branch support/${VERSION_MM} git@github.com:apache/geode-examples.git
- set +x
-fi
-
-
-function failMsg2 {
- errln=$1
- echo "ERROR: set_versions script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines 76-$(( errln - 1 ))) and try again"
-}
-trap 'failMsg2 $LINENO' ERR
-
-
-echo ""
-echo "============================================================"
-echo "Setting Geode versions"
-echo "============================================================"
-set -x
-cd ${GEODE}
-set +x
-
-#version = 1.13.0-build.0
-sed -e "s/^version =.*/version = ${VERSION}${BUILDSUFFIX}/" -i.bak gradle.properties
-
-# product_version: '1.13.2'
-sed -E \
- -e "s#product_version: '[0-9.]+'#product_version: '${VERSION}'#" \
- -i.bak geode-book/config.yml
-
-#git clone -b branch --depth 1 https://github.com/apache/geode.git geode
-sed -e "s#clone -b [ds][evlopurt/0-9.]*#clone -b support/${VERSION_MM}#" \
- -i.bak \
- ci/docker/cache_dependencies.sh \
- ci/images/google-geode-builder/scripts/cache_dependencies.sh
-
-rm -f gradle.properties.bak geode-book/config.yml.bak ci/docker/cache_dependencies.sh.bak ci/images/google-geode-builder/scripts/cache_dependencies.sh.bak
-set -x
-git add gradle.properties geode-book/config.yml
-if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "Bumping version to ${VERSION}${BUILDSUFFIX}"
- [ "$NOPUSH" = "true" ] || git push -u origin
-fi
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Setting geode-examples version"
-echo "============================================================"
-set -x
-cd ${GEODE_EXAMPLES}
-git pull
-set +x
-
-#version = 1.12.0-build.0
-#geodeVersion = 1.12.+
-sed -e "s/^version = .*/version = ${VERSION}${BUILDSUFFIX}/" \
- -e "s/^geodeVersion = .*/geodeVersion = ${GEODEFOREXAMPLES}/" \
- -i.bak gradle.properties
-
-rm gradle.properties.bak
-set -x
-git add .
-if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "Bumping version to ${VERSION}${BUILDSUFFIX}"
- [ "$NOPUSH" = "true" ] || git push -u origin
-fi
-set +x
-
-
-echo ""
-echo "============================================================"
-echo 'Done setting support versions!'
-echo "============================================================"
-cd ${GEODE}/../..