This is an automated email from the ASF dual-hosted git repository.
onichols pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/support/1.15 by this push:
new 170526b remove outdated copies of release scripts to ensure they are
not run by accident + remove CODEOWNERS to avoid confusion
170526b is described below
commit 170526bbcc43abb4e523b0292b96835b9ed4ae15
Author: Owen Nichols <[email protected]>
AuthorDate: Wed Jan 26 11:29:52 2022 -0800
remove outdated copies of release scripts to ensure they are not run by
accident + remove CODEOWNERS to avoid confusion
---
CODEOWNERS | 321 --------------
CODEWATCHERS | 82 ----
dev-tools/release/README.md | 31 +-
dev-tools/release/commit_rc.sh | 147 -------
dev-tools/release/create_support_branches.sh | 288 ------------
dev-tools/release/deploy_rc_pipeline.sh | 637 ---------------------------
dev-tools/release/end_of_support.sh | 155 -------
dev-tools/release/license_review.sh | 366 ---------------
dev-tools/release/prepare_rc.sh | 369 ----------------
dev-tools/release/print_rc_email.sh | 101 -----
dev-tools/release/promote_rc.sh | 603 -------------------------
dev-tools/release/set_copyright.sh | 59 ---
dev-tools/release/set_versions.sh | 202 ---------
13 files changed, 1 insertion(+), 3360 deletions(-)
diff --git a/CODEOWNERS b/CODEOWNERS
deleted file mode 100644
index 4628fac..0000000
--- a/CODEOWNERS
+++ /dev/null
@@ -1,321 +0,0 @@
-# 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.
-
-#-----------------------------------------------------------------
-# CODEOWNERS and .asf.yml - ownerless so everyone "owns" it
-#-----------------------------------------------------------------
-#CODEOWNERS
-#.asf.yaml
-
-#-----------------------------------------------------------------
-# Serialization
-#-----------------------------------------------------------------
-geode-serialization/**
@echobravopapa @Bill @kirklund @kamilla1201 @jchen21
-geode-core/**/org/apache/geode/pdx/**
@upthewaterspout @dschneider-pivotal @agingade
-geode-core/**/org/apache/geode/codeAnalysis/**
@upthewaterspout @dschneider-pivotal @agingade @kirklund
-geode-core/**/org/apache/geode/internal/*
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/META-INF/**/*SanctionedSerializablesService @kirklund
@jchen21
-
-#-----------------------------------------------------------------
-# Membership
-#-----------------------------------------------------------------
-geode-membership/**
@echobravopapa @Bill @kamilla1201
-geode-old-client-support/**
@echobravopapa @Bill @kamilla1201
-geode-tcp-server/**
@echobravopapa @Bill @kamilla1201
-geode-core/**/org/apache/geode/distributed/internal/membership/**
@echobravopapa @Bill @kirklund @kamilla1201
-
-#-----------------------------------------------------------------
-# P2P Messaging
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/tcp/**
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/distributed/internal/direct/**
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/internal/net/**
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/net/** @Bill
@mivanac @kirklund
-geode-core/**/org/apache/geode/distributed/*
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/distributed/internal/*
@echobravopapa @Bill @kirklund @kamilla1201
-
-#-----------------------------------------------------------------
-# Client/server messaging and cache operations
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/cache/client/**
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/cache/server/**
@echobravopapa @Bill @kirklund @kamilla1201
-geode-core/**/org/apache/geode/cache/client/internal/** @Bill
@echobravopapa @kirklund @kamilla1201
-geode-core/**/org/apache/geode/internal/cache/tier/** @Bill
@echobravopapa @agingade @kirklund @kamilla1201
-geode-assembly/**/apache/geode/client/sni/** @Bill
@echobravopapa @kamilla1201
-
-#-----------------------------------------------------------------
-# Client Queues
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/ha/** @agingade
@boglesby @nabarunnag
-geode-core/**/org/apache/geode/internal/cache/**/CacheClient* @agingade
@boglesby @nabarunnag
-
-#-----------------------------------------------------------------
-# Core Public API packages - Cache, Region, etc.
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/*
@dschneider-pivotal @boglesby @kirklund @nabarunnag
-geode-core/**/org/apache/geode/cache/*
@dschneider-pivotal @boglesby @kirklund @nabarunnag
-geode-core/**/org/apache/geode/cache/util/**
@dschneider-pivotal @boglesby @nabarunnag @kirklund
-
-#-----------------------------------------------------------------
-# Distributed Locks
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/distributed/internal/locks/**
@dschneider-pivotal @pivotal-eshu @kirklund
-geode-core/**/org/apache/geode/distributed/internal/deadlock/**
@dschneider-pivotal @pivotal-eshu @kirklund
-
-#-----------------------------------------------------------------
-# Core region implementations and plumbing
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/* @nabarunnag
@DonalEvans @jchen21 @kirklund
-
-#-----------------------------------------------------------------
-# Region entry management
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/entries/**
@dschneider-pivotal @upthewaterspout @kirklund @mhansonp
-geode-core/**/org/apache/geode/internal/cache/region/entry/**
@dschneider-pivotal @upthewaterspout @kirklund @mhansonp
-geode-core/**/org/apache/geode/internal/cache/map/**
@dschneider-pivotal @upthewaterspout @kirklund @mhansonp
-geode-core/**/org/apache/geode/compression/**
@dschneider-pivotal @kirklund
-geode-core/**/org/apache/geode/internal/cache/compression/**
@dschneider-pivotal @kirklund
-
-#-----------------------------------------------------------------
-# Partitioned Regions
-#-----------------------------------------------------------------
-geode-rebalancer/** @boglesby
@BenjaminPerryRoss @nabarunnag
-geode-core/**/org/apache/geode/internal/cache/partitioned/** @boglesby
@BenjaminPerryRoss @mhansonp @kirklund @nabarunnag
-geode-core/**/org/apache/geode/cache/partition/** @boglesby
@BenjaminPerryRoss @mhansonp @kirklund @nabarunnag
-
-#-----------------------------------------------------------------
-# Event tracking
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/event/** @agingade
@nabarunnag @gesterzhou @kirklund
-
-#-----------------------------------------------------------------
-# Eviction
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/eviction/** @agingade
@dschneider-pivotal @mhansonp @kirklund
-geode-core/**/org/apache/geode/internal/size/** @agingade
@dschneider-pivotal @kirklund
-
-#-----------------------------------------------------------------
-# Offheap
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/offheap/**
@pivotal-eshu @dschneider-pivotal @kirklund
-
-#-----------------------------------------------------------------
-# Transactions
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/tx/**
@pivotal-eshu @gesterzhou
-geode-core/**/org/apache/geode/internal/jta/**
@pivotal-eshu @gesterzhou
-geode-core/**/org/apache/geode/internal/cache/locks/**
@pivotal-eshu @gesterzhou @kirklund
-
-#-----------------------------------------------------------------
-# Function Execution
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/execute/** @boglesby
@kirklund @nabarunnag
-geode-core/**/org/apache/geode/cache/execute/** @boglesby
@kirklund @nabarunnag
-
-#-----------------------------------------------------------------
-# Querying
-#-----------------------------------------------------------------
-geode-cq/** @nabarunnag
@DonalEvans @agingade
-geode-core/**/org/apache/geode/cache/query/** @nabarunnag
@DonalEvans @agingade
-
-#-----------------------------------------------------------------
-# Session State:
-#-----------------------------------------------------------------
-extensions/**
@jdeppe-pivotal @BenjaminPerryRoss @kirklund
-geode-core/**/org/apache/geode/internal/modules/util/**
@jdeppe-pivotal @BenjaminPerryRoss
-geode-assembly/**/org/apache/geode/session/**
@jdeppe-pivotal @BenjaminPerryRoss
-
-#-----------------------------------------------------------------
-# DEV rest API
-#-----------------------------------------------------------------
-geode-web-api/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-assembly/**/org/apache/geode/rest/**
@jdeppe-pivotal @jinmeiliao @kirklund
-
-#-----------------------------------------------------------------
-# Lucene integration
-#-----------------------------------------------------------------
-geode-lucene/** @nabarunnag
@DonalEvans
-
-#-----------------------------------------------------------------
-# Memcached integration
-#-----------------------------------------------------------------
-geode-memcached/** @nabarunnag
@DonalEvans
-
-#-----------------------------------------------------------------
-# Misc Utilities
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/util/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/util/concurrent/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/shared/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/sequencelog/** @nabarunnag
@boglesby
-geode-core/**/org/apache/geode/internal/concurrent/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/distributed/internal/unsafe/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/lang/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/monitoring/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/internal/exception/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/lang/** @nabarunnag
@boglesby @kirklund
-geode-core/**/org/apache/geode/ra/** @nabarunnag
@boglesby
-geode-core/**/org/apache/geode/internal/cache/vmotion/** @nabarunnag
@boglesby
-geode-core/**/org/apache/geode/internal/jndi/** @nabarunnag
@boglesby
-geode-common/** @nabarunnag
@boglesby @kirklund
-geode-unsafe/** @nabarunnag
@boglesby @kirklund
-
-#-----------------------------------------------------------------
-# Persistence
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/cache/persistence/**
@dschneider-pivotal @jchen21 @upthewaterspout @gesterzhou
-geode-core/**/org/apache/geode/internal/cache/persistence/**
@dschneider-pivotal @jchen21 @upthewaterspout @gesterzhou
-geode-core/**/org/apache/geode/internal/cache/backup/**
@dschneider-pivotal @agingade @jchen21 @upthewaterspout @gesterzhou
-geode-assembly/**/org/apache/geode/cache/persistence/**
@dschneider-pivotal @jchen21 @upthewaterspout @gesterzhou
-
-#-----------------------------------------------------------------
-# Region Version Vectors - used for sychronization on
-# member failures and persistent recovery
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/cache/versions/**
@dschneider-pivotal @gesterzhou
-
-#-----------------------------------------------------------------
-# WAN messaging and queues
-#-----------------------------------------------------------------
-geode-wan/** @gesterzhou
@boglesby @nabarunnag
-geode-core/**/org/apache/geode/cache/asyncqueue/** @gesterzhou
@boglesby @nabarunnag
-geode-core/**/org/apache/geode/cache/wan/** @gesterzhou
@boglesby @nabarunnag @kirklund
-geode-core/**/org/apache/geode/internal/cache/wan/** @gesterzhou
@boglesby @nabarunnag @kirklund
-geode-assembly/**/apache/geode/cache/wan/** @gesterzhou
@boglesby @nabarunnag @kirklund
-
-#-----------------------------------------------------------------
-# Management
-#-----------------------------------------------------------------
-geode-management/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-assembly/**/org/apache/geode/management/**
@jdeppe-pivotal @jinmeiliao
-geode-assembly/**/org/apache/geode/tools/pulse/**
@jdeppe-pivotal @jinmeiliao
-geode-web-management/**
@jdeppe-pivotal @jinmeiliao
-geode-gfsh/**
@jdeppe-pivotal @jinmeiliao @mhansonp @kirklund
-geode-assembly/**/bin/**
@jdeppe-pivotal @jinmeiliao @mhansonp @kirklund
-geode-pulse/**
@jdeppe-pivotal @jinmeiliao @mhansonp
-geode-http-service/**
@jdeppe-pivotal @jinmeiliao
-geode-web/**
@jdeppe-pivotal @jinmeiliao
-geode-core/**/org/apache/geode/admin/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/alerting/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/management/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/cache/configuration/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/internal/admin/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/internal/cache/xmlcache/**
@jdeppe-pivotal @jinmeiliao
-geode-core/**/org/apache/geode/internal/cache/extension/**
@jdeppe-pivotal @jinmeiliao
-geode-core/**/org/apache/geode/internal/config/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/internal/process/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/cache/internal/*
@jdeppe-pivotal @jinmeiliao @kirklund
-
-#-----------------------------------------------------------------
-# Security
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/examples/**
@jdeppe-pivotal @jinmeiliao @mhansonp
-geode-core/**/org/apache/geode/examples/security/**
@jdeppe-pivotal @jinmeiliao
-geode-core/**/org/apache/geode/security/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/internal/security/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-core/**/org/apache/geode/cache/operations/**
@jdeppe-pivotal @jinmeiliao
-geode-core/**/org/apache/geode/internal/cache/operations/**
@jdeppe-pivotal @jinmeiliao
-geode-assembly/**/apache/geode/ssl/**
@jdeppe-pivotal @jinmeiliao
-
-#-----------------------------------------------------------------
-# Logging
-#-----------------------------------------------------------------
-geode-log4j/** @mhansonp
@kirklund
-geode-logging/** @mhansonp
@kirklund
-geode-core/**/org/apache/geode/logging/** @mhansonp
@kirklund
-geode-core/**/org/apache/geode/internal/logging/** @mhansonp
@kirklund
-geode-core/**/org/apache/geode/i18n/** @agingade
@kirklund
-geode-core/**/org/apache/geode/internal/i18n/** @agingade
@kirklund
-geode-core/**/org/apache/geode/internal/io/** @agingade
@kirklund
-geode-assembly/**/org/apache/geode/logging/** @agingade
@kirklund
-
-#-----------------------------------------------------------------
-# Metrics & Statistics
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/statistics/** @mhansonp
@kirklund
-geode-core/**/org/apache/geode/internal/stats50/** @mhansonp
@kirklund
-geode-core/**/org/apache/geode/metrics/** @mhansonp
@kirklund
-geode-assembly/**/org/apache/geode/metrics/** @mhansonp
@kirklund
-
-#-----------------------------------------------------------------
-# Region Snapshots
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/cache/snapshot/** @agingade
@jchen21
-geode-core/**/org/apache/geode/internal/cache/snapshot/** @agingade
@jchen21
-
-#-----------------------------------------------------------------
-# JDBC connector
-#-----------------------------------------------------------------
-geode-connectors/** @agingade
@jchen21 @kirklund
-geode-core/**/org/apache/geode/datasource/** @agingade
@BenjaminPerryRoss @jchen21
-geode-core/**/org/apache/geode/internal/datasource/** @agingade
@BenjaminPerryRoss @jchen21
-
-#-----------------------------------------------------------------
-# Resource manager
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/cache/control/** @kirklund
@DonalEvans
-geode-core/**/org/apache/geode/internal/cache/control/** @kirklund
@DonalEvans
-
-#-----------------------------------------------------------------
-# Testing utilities
-#-----------------------------------------------------------------
-#geode-concurrency-test/**
-geode-dunit/** @mhansonp
@kirklund
-geode-junit/** @mhansonp
@kirklund
-#geode-jmh/**
-geode-junit/**/org/apache/geode/test/util/**
@jdeppe-pivotal @onichols-pivotal @kirklund
-geode-assembly/**/org/apache/geode/test/junit/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-assembly/**/org/apache/geode/rules/**
@jdeppe-pivotal @jinmeiliao @kirklund
-geode-assembly/**/org/apache/geode/launchers/**
@dschneider-pivotal @boglesby @kirklund @nabarunnag
-geode-assembly/**/resources/** @boglesby
@kirklund @nabarunnag @jdeppe-pivotal @jinmeiliao
-
-#-----------------------------------------------------------------
-# Redis API
-#-----------------------------------------------------------------
-geode-for-redis/**
@jdeppe-pivotal @nonbinaryprogrammer @ringles @upthewaterspout @DonalEvans
@dschneider-pivotal @kirklund
-
-#-----------------------------------------------------------------
-# Build and tooling
-#-----------------------------------------------------------------
-#etc/**
-*gradle*
@rhoughton-pivot @onichols-pivotal
-buildSrc/**
@rhoughton-pivot @jdeppe-pivotal
-buildSrc/**/DependencyConstraints.groovy
@onichols-pivotal @dickcav @rhoughton-pivot
-ci/**
@onichols-pivotal @dickcav @rhoughton-pivot @smgoller
-ci/scripts/**
@onichols-pivotal @dickcav @rhoughton-pivot @smgoller
-ci/scripts/repeat-new-tests.sh
@onichols-pivotal @dickcav @rhoughton-pivot @smgoller @upthewaterspout
@jdeppe-pivotal
-dev-tools/dependencies/**
@onichols-pivotal @dickcav
-dev-tools/release/**
@onichols-pivotal @dickcav
-docker/**
@onichols-pivotal @dickcav @smgoller
-geode-management/src/test/script/update-management-wiki.sh
@onichols-pivotal @dickcav
-#boms/**
-static-analysis/**
@rhoughton-pivot @onichols-pivotal
-geode-old-versions/**
@onichols-pivotal @dickcav
-KEYS
@onichols-pivotal @dickcav
-assembly_content.txt
@rhoughton-pivot @onichols-pivotal
-dependency_classpath.txt
@rhoughton-pivot @onichols-pivotal
-expected-pom.xml
@rhoughton-pivot @onichols-pivotal
-
-#-----------------------------------------------------------------
-# Documentation
-#-----------------------------------------------------------------
-apache-copyright-notice.txt
@upthewaterspout @pivotal-amurmann
-BUILDING.md
@rhoughton-pivot @upthewaterspout
-CODE_OF_CONDUCT.md
@upthewaterspout @pivotal-amurmann @nonbinaryprogrammer @kirklund
-LICENSE
@onichols-pivotal @dickcav
-NOTICE
@onichols-pivotal @dickcav
-/README.md
@upthewaterspout @pivotal-amurmann @kirklund
-#TESTING.md
diff --git a/CODEWATCHERS b/CODEWATCHERS
deleted file mode 100644
index 4a56f52..0000000
--- a/CODEWATCHERS
+++ /dev/null
@@ -1,82 +0,0 @@
-# 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.
-
-
-# This file follows the same format as CODEOWNERS, but adds you as
-# an optional reviewer rather than a required code owner reviewer.
-# Draft PRs are ignored until ~15 minutes after Ready For Review.
-# CODEWATCHERS is a bot; the bot owner will appear as the requestor.
-# You must be a Geode committer to use CODEWATCHERS.
-
-
-#-----------------------------------------------------------------
-# CODEOWNERS and .asf.yml
-#-----------------------------------------------------------------
-CODEOWNERS
@onichols-pivotal @rhoughton-pivot
-CODEWATCHERS
@onichols-pivotal @rhoughton-pivot
-.asf.yaml
@onichols-pivotal @rhoughton-pivot
-
-
-#-----------------------------------------------------------------
-# Documentation
-#-----------------------------------------------------------------
-geode-book/** @davebarnes97
-geode-docs/** @davebarnes97
-geode-book/config.yml
@onichols-pivotal
-geode-book/redirects.rb
@onichols-pivotal
-LICENSE @metatype
-NOTICE @metatype
-
-#-----------------------------------------------------------------
-# Jar Deployment
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/**/classloader/**
@kohlmu-pivotal
-geode-core/**/org/apache/geode/**/deployment/**
@kohlmu-pivotal
-geode-deployment/**
@kohlmu-pivotal
-geode-core/**/org/apache/geode/cache/internal/execute/*
@kohlmu-pivotal
-
-#-----------------------------------------------------------------
-# Client/server messaging and cache operations
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/cache/client/** @albertogpz
-geode-core/**/org/apache/geode/cache/server/** @albertogpz
-geode-core/**/org/apache/geode/internal/cache/tier/** @albertogpz
-
-#-----------------------------------------------------------------
-# WAN messaging and queues
-#-----------------------------------------------------------------
-geode-wan/** @albertogpz
-geode-core/**/org/apache/geode/cache/asyncqueue/** @albertogpz
-geode-core/**/org/apache/geode/cache/wan/** @albertogpz
-geode-core/**/org/apache/geode/internal/cache/wan/** @albertogpz
-
-#-----------------------------------------------------------------
-# Metrics & Statistics
-#-----------------------------------------------------------------
-geode-core/**/org/apache/geode/internal/statistics/** @mkevo
-geode-core/**/org/apache/geode/internal/stats50/** @mkevo
-geode-core/**/org/apache/geode/metrics/** @mkevo
-
-#-----------------------------------------------------------------
-# Querying
-#-----------------------------------------------------------------
-geode-cq/** @mkevo
-geode-core/**/org/apache/geode/cache/query/** @mkevo
-
-#-----------------------------------------------------------------
-# Build and tooling
-#-----------------------------------------------------------------
-dev-tools/progress/**
@demery-pivotal
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 46dc3cc..0000000
--- a/dev-tools/release/commit_rc.sh
+++ /dev/null
@@ -1,147 +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. In a separate terminal window, ${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. If you haven't already, add a ${VERSION} section to
https://cwiki.apache.org/confluence/display/GEODE/Release+Notes"
-echo "4. Send the following email to announce the RC:"
-echo "To: [email protected]"
-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 2b0b739..0000000
--- a/dev-tools/release/create_support_branches.sh
+++ /dev/null
@@ -1,288 +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 [email protected]:apache/geode.git
-#(cd geode; git reset --hard $desired_sha) #uncomment if latest commit is not
the desired branchpoint
-git clone --single-branch --branch develop [email protected]:apache/geode.git
geode-develop
-git clone --single-branch --branch develop
[email protected]:apache/geode-examples.git
-git clone --single-branch --branch develop
[email protected]:apache/geode-examples.git geode-examples-develop
-git clone --single-branch --branch develop
[email protected]:apache/geode-native.git
-git clone --single-branch --branch develop
[email protected]: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
83-$(( 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 [email protected]:${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 KnownVersion 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 + 10 ))
-sed -e "s#/. NOTE: when adding a new version#private static final short
GEODE_${NEWMAJOR}_${NEWMINOR}_0_ORDINAL = ${NEWORD};\\
-\\
- @Immutable\\
- public static final KnownVersion GEODE_${NEWMAJOR}_${NEWMINOR}_0 =\\
- new KnownVersion("'"'"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 KnownVersion
CURRENT/s#GEODE[0-9_]*#GEODE_${NEWMAJOR}_${NEWMINOR}_0#" \
- -e "/public static final int HIGHEST_VERSION/s# = [0-9]*# = ${NEWORD}#" \
- -i.bak $VER
-
-# directory: docs/guide/113
-# product_version: '1.13'
-# product_version_nodot: '113'
-# product_version_geode: '1.13'
-# product_version_old_minor: '1.12'
-sed -E \
- -e "s#docs/guide/[0-9]+#docs/guide/${NEWVERSION_MM_NODOT}#" \
- -e "s#product_version: '[0-9.]+'#product_version: '${NEWVERSION_MM}'#" \
- -e "s#version_nodot: '[0-9]+'#version_nodot: '${NEWVERSION_MM_NODOT}'#" \
- -e "s#product_version_geode: '[0-9.]+'#product_version_geode:
'${NEWVERSION_MM}'#" \
- -e "s#product_version_old_minor: '[0-9.]+'#product_version_old_minor:
'${VERSION_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*
-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 "Removing CODEOWNERS and duplicate scripts from support/${VERSION_MM}"
-echo "============================================================"
-set -x
-cd ${GEODE}/dev-tools/release
-git pull -r
-git rm *.sh
-cat << EOF > README.md
-See [Releasing Apache
Geode](https://cwiki.apache.org/confluence/display/GEODE/Releasing+Apache+Geode)
-EOF
-git add README.md
-cd ${GEODE}
-[ ! -r CODEOWNERS ] || git rm CODEOWNERS
-[ ! -r CODEWATCHERS ] || git rm CODEWATCHERS
-git commit -m "remove outdated copies of release scripts to ensure they are
not run by accident + remove CODEOWNERS to avoid confusion"
-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 a8dd9dd..0000000
--- a/dev-tools/release/deploy_rc_pipeline.sh
+++ /dev/null
@@ -1,637 +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/upthewaterspout/geode-release-check.git
-
-jobs:
- - name: build-geode-from-tag
- serial: true
- public: true
- plan:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git fetch && 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:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git fetch && 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:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode && git fetch && 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:
- - in_parallel:
- - 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:
- - -ecx
- - |
- 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:
- - in_parallel:
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode-examples && git fetch && 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:
- - in_parallel:
- - get: geode-native
- trigger: true
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: adoptopenjdk/openjdk8
- tag: slim
- inputs:
- - name: geode-native
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode-native && git fetch && 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
- apt-get update || true
- DEBIAN_FRONTEND=noninteractive apt-get install
--no-install-recommends -y cmake openssl doxygen build-essential libssl-dev
zlib1g-dev
- #cmake wrongly assumes javah wasn't removed until JDK10, but
adoptopenjdk removed it in JDK8
- echo '/opt/java/openjdk/bin/javac -h "$@"' >
/opt/java/openjdk/bin/javah
- chmod +x /opt/java/openjdk/bin/javah
- 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:
- - in_parallel:
- - get: geode-native
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - task: validate
- timeout: 1h
- config:
- image_resource:
- type: docker-image
- source:
- repository: adoptopenjdk/openjdk8
- tag: slim
- inputs:
- - name: geode-native
- - name: geode
- platform: linux
- run:
- path: /bin/sh
- args:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode-native && git fetch && 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 ..
- apt-get update || true
- DEBIAN_FRONTEND=noninteractive apt-get install
--no-install-recommends -y cmake openssl doxygen build-essential libssl-dev
zlib1g-dev
- #cmake wrongly assumes javah wasn't removed until JDK10, but
adoptopenjdk removed it in JDK8
- echo '/opt/java/openjdk/bin/javac -h "$@"' >
/opt/java/openjdk/bin/javah
- chmod +x /opt/java/openjdk/bin/javah
- 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:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - get: upthewaterspout-tests
- - get: geode-examples
- - task: validate
- timeout: 2h
- 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git gpg
gpg-agent wget
- FULL_VERSION=$(cd geode && git fetch && 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git keychain
- FULL_VERSION=$(cd geode-benchmarks && git fetch && 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 || true
- 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:
- - in_parallel:
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends git gpg gpg-agent
- FULL_VERSION=$(cd geode && git fetch && 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 16000000 20000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright
apache-geode-${VERSION} 120000000 135000000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright
apache-geode-examples-${VERSION}-src 840000 900000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright
apache-geode-native-${VERSION}-src 2400000 3200000
- verifyArtifactSizeSignatureLicenseNoticeAndCopyright
apache-geode-benchmarks-${VERSION}-src 85000 115000
- 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:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends git
- FULL_VERSION=$(cd geode && git fetch && 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:
- - in_parallel:
- - get: geode
- trigger: true
- passed: [verify-expected-files-and-keys]
- - 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:
- - -ecx
- - |
- apt update -q
- apt install -qq -y --no-install-recommends unzip git
- FULL_VERSION=$(cd geode && git fetch && git describe --tags |
sed -e 's#^rel/v##')
- ./geode-develop/dev-tools/release/license_review.sh -v
$FULL_VERSION
- - name: all-passed
- serial: true
- public: true
- plan:
- - in_parallel:
- - get: geode
- trigger: true
- passed:
- - verify-license
- - upthewaterspout
- - run-gfsh-from-tgz
- - verify-no-binaries
- - build-geode-from-tag
- - build-geode-from-src-tgz
- - get: geode-examples
- passed:
- - run-geode-examples-jdk11
- - run-geode-examples-from-src-tgz-jdk8
- - get: geode-native
- passed:
- - build-geode-native-from-tag
- - build-geode-native-from-src-tgz
- - get: geode-benchmarks
- passed:
- - benchmarks-test
-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} [email protected]:apache/geode.git
-git clone --branch support/${VERSION_MM}
[email protected]:apache/geode-examples.git
-git clone --branch support/${VERSION_MM}
[email protected]:apache/geode-native.git
-git clone --branch support/${VERSION_MM}
[email protected]: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 c091923..0000000
--- a/dev-tools/release/license_review.sh
+++ /dev/null
@@ -1,366 +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() {
- [ "$SKIP_LICENSES" != "true" ] || return 0
- 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-
-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)
- result=1
- 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)
- result=1
- fi
-
- banner "Checking references in source license"
- cat $SLICENSE | checkMissing $SLICENSE || result=1
-
-
- banner "Checking references in binary license"
- cat $SLICENSE $SLICENSE $BLICENSE | sort | uniq -u | checkMissing
$BLICENSE || result=1
- 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 a12ee3f..0000000
--- a/dev-tools/release/prepare_rc.sh
+++ /dev/null
@@ -1,369 +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 java..."
-echo "============================================================"
-[ -z "$JAVA_HOME" ] && JAVA=java || JAVA=$JAVA_HOME/bin/java
-if ! $JAVA -XshowSettings:properties -version 2>&1 | grep
'java.specification.version = 1.8' ; then
- echo "Please set JAVA_HOME to use JDK 8 to compile Geode for release"
- exit 1
-fi
-if $JAVA -XshowSettings:properties -version 2>&1 | grep 'java.vm.vendor =
Oracle' ; then
- echo "Please set JAVA_HOME to use an Open JDK 8 such as from
https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot to compile Geode
for release"
- exit 1
-else
- $JAVA -XshowSettings:properties -version 2>&1 | grep 'java.vm.vendor = '
-fi
-
-
-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}
[email protected]:apache/geode.git
-#if you attempt to reset to a prior SHA here, skip ${GEODE} in
set_copyright.sh or it may backfire
-#(cd geode; git reset --hard $desired_sha) #uncomment if latest commit is not
the desired sha
-git clone [email protected]:apache/geode.git geode-develop
-git clone --single-branch --branch support/${VERSION_MM}
[email protected]:apache/geode-examples.git
-git clone --single-branch --branch support/${VERSION_MM}
[email protected]:apache/geode-native.git
-git clone --single-branch --branch develop
[email protected]:apache/geode-native.git geode-native-develop
-git clone --single-branch --branch support/${VERSION_MM}
[email protected]:apache/geode-benchmarks.git
-git clone --single-branch --branch develop
[email protected]:apache/geode-benchmarks.git geode-benchmarks-develop
-git clone --single-branch --branch master
[email protected]: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
144-$(( 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 "============================================================"
-publishcmd="./gradlew publish --no-parallel -Pversion=${VERSION} -Paskpass
-Psigning.keyId=${SIGNING_KEY}
-Psigning.secretKeyRingFile=${HOME}/.gnupg/secring.gpg
-PmavenUsername=${APACHE_USERNAME}"
-set -x
-cd ${GEODE}
-sh -c "$publishcmd"
-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 "2b.If publication got split between two staging repos, drop one of them
then run: pushd ${GEODE}; $publishcmd; popd"
-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 ~10 seconds and then refresh the page to confirm that status has
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 2bf034a..0000000
--- a/dev-tools/release/promote_rc.sh
+++ /dev/null
@@ -1,603 +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}" | sed 's/Keyfingerprint=//' | tail -1)
-
-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
-GEODE_BENCHMARKS_DEVELOP=$WORKSPACE/geode-benchmarks-develop
-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 "$GEODE_BENCHMARKS_DEVELOP" ] && [ -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
-
-
-echo ""
-echo "============================================================"
-echo "Checking docker..."
-echo "============================================================"
-if ! docker images >/dev/null ; then
- echo "Make sure docker daemon is running and try again."
- exit 1
-fi
-
-
-PATCH=${VERSION##*.}
-if [ $PATCH -ne 0 ] ; then
- echo ""
- echo "============================================================"
- echo "Checking if serialization version has changed"
- echo "============================================================"
- cd ${GEODE}
- PREV=${VERSION%.*}.$(( PATCH - 1 ))
-
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
- set -x
- prevsver=$(git show "rel/v${PREV}:${VER}" | awk '/CURRENT =/{print $NF}')
- cursver=$(cat ${VER} | awk '/CURRENT =/{print $NF}')
- set +x
- [ "$cursver" = "$prevsver" ] && echo "No change: $VERSION will replace $PREV
in old-versions list" || echo "Changed: old-versions list will include both
$PREV and $VERSION"
-fi
-
-
-function failMsg {
- errln=$1
- echo "ERROR: script did NOT complete successfully"
- echo "Comment out any steps that already succeeded (approximately lines
145-$(( 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. '{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. '{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 "============================================================"
-GEODE_SHA=$(awk '{print $1}' <
$WORKSPACE/dist/release/geode/${VERSION}/apache-geode-${VERSION}.tgz.sha256)
-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 [email protected]:${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}
- 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}/" \
- -e "s/ha.pool.sks-keyservers.net/keyserver.ubuntu.com/" \
- -e '/This is a TEMPLATE/d' \
- -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 and other variables"
-echo "============================================================"
-set -x
-cd ${GEODE_NATIVE}
-git pull -r
-set +x
-if [ -r .travis.yml ] ; then
- sed -e "s/geode-native-build:[latest0-9.]*/geode-native-build:${VERSION}/" \
- -i.bak .travis.yml
-fi
-sed -e "s/GEODE_VERSION=.*/GEODE_VERSION=${VERSION}/" \
- -e "s/^ENV GEODE_VERSION.*/ENV GEODE_VERSION ${VERSION}/" \
- -i.bak $(git grep -l GEODE_VERSION= ; git grep -l 'ENV GEODE_VERSION')
-rm $(find . -name '*.bak')
-set -x
-git add .
-git diff --staged --color | cat
-git commit -m "update Dockerfile and other variables to apache-geode
${VERSION}"
-git push
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Building Geode docker image"
-echo "============================================================"
-set -x
-cd ${GEODE}/docker
-sed -e '/www.apache.org.dyn.closer/d' -i.backup Dockerfile
-if ! docker build . ; then
- echo retrying in 1 minute...
- sleep 60
- if ! docker build . ; then
- echo retrying in 4 minutes...
- sleep 240
- if ! docker build . ; then
- echo retrying in 7 minutes...
- sleep 420
- if ! docker build . ; then
- echo "Hmm, the geode Dockerfile doesn't seem to want to build..."
- echo "Try instrumenting it with some echo's to track down where it's
failing..."
- exit 7
- fi
- fi
- fi
-fi
-mv Dockerfile.backup Dockerfile
-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 . || 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
-
-
-if [ -z "$LATER" ] ; then
- echo ""
- echo "============================================================"
- echo "Setting Geode version for geode-native develop"
- echo "============================================================"
- set -x
- cd ${GEODE_NATIVE_DEVELOP}
- git pull
- git remote add myfork [email protected]:${GITHUB_USER}/geode-native.git || true
- git checkout -b update-to-geode-${VERSION}
- set +x
-
- sed -e "s/GEODE_VERSION=[0-9.]*/GEODE_VERSION=${VERSION}/" \
- -e "s/^ENV GEODE_VERSION.*/ENV GEODE_VERSION ${VERSION}/" \
- -i.bak $(git grep -l GEODE_VERSION= ; git grep -l 'ENV GEODE_VERSION')
-
- rm $(find . -name '*.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 myfork
- 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 [email protected]:${GITHUB_USER}/geode.git || true
-git checkout -b add-${VERSION}-to-old-versions
-set +x
-#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 -ne 0 ] ; then
- #if the serialization version has not changed, we can drop the previous patch
- if [ "$cursver" = "$prevsver" ] ; then
- sed -e "/'${PREV}'/d" -i.bak settings.gradle
- rm settings.gradle.bak
- fi
-fi
-
-if [ -z "$LATER" ] ; then
- #also update benchmark baseline for develop to this new minor
- sed -e "s/^ baseline_version_default:.*/ baseline_version_default:
'${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 and Benchmarks baseline on support/$VERSION_MM"
-echo "============================================================"
-set -x
-cd ${GEODE}
-git checkout support/${VERSION_MM}
-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
-if [ $PATCH -ne 0 ] ; then
- #if the serialization version has not changed, we can drop the previous patch
- if [ "$cursver" = "$prevsver" ] ; then
- sed -e "/'${PREV}'/d" -i.bak settings.gradle
- rm settings.gradle.bak
- fi
-else
- #also update benchmark baseline for support branch to its new minor
- sed \
- -e "s/^ baseline_version:.*/ baseline_version: '${VERSION}'/" \
- -e "s/^ baseline_version_default:.*/ baseline_version_default:
'${VERSION}'/" \
- -i.bak ci/pipelines/shared/jinja.variables.yml
- rm ci/pipelines/shared/jinja.variables.yml.bak
- BENCHMSG2=" 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${BENCHMSG2} on
support/$VERSION_MM"
-git push
-set +x
-
-
-if [ -z "$LATER" ] ; then
- for branch in develop support/$VERSION_MM ; do
- echo ""
- echo "============================================================"
- echo "Updating default benchmark baseline on $branch"
- echo "============================================================"
- set -x
- [ "develop" = "$branch" ] && BENCH=${GEODE_BENCHMARKS_DEVELOP} ||
BENCH=${GEODE_BENCHMARKS}
- [ "develop" = "$branch" ] && BASEL=${VERSION} || BASEL=${VERSION_MM}.0
- cd ${BENCH}
- git checkout $branch
- git pull
- set +x
- #DEFAULT_BASELINE_VERSION=1.14.0
- sed -e "s/^DEFAULT_BASELINE_VERSION=.*/DEFAULT_BASELINE_VERSION=${BASEL}/"
\
- -i.bak infrastructure/scripts/aws/run_against_baseline.sh
- rm infrastructure/scripts/aws/run_against_baseline.sh.bak
- set -x
- git add infrastructure/scripts/aws/run_against_baseline.sh
- if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "update default benchmark baseline on $branch"
- git push
- fi
- set +x
- done
-fi
-
-
-echo ""
-echo "============================================================"
-echo "Removing old Geode 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. '/^[0-9]/{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)
-rm -f ../did.remove
-(ls | grep '^[0-9]'; 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
- [ ! -r ../did.remove ] || echo -n " and " >> ../did.remove
- echo -n $oldVersion >> ../did.remove
-done
-touch ../did.remove
-DID_REMOVE=$(cat ../did.remove)
-rm ../keep ../did.remove
-
-
-echo ""
-echo "============================================================"
-echo 'Done promoting release artifacts!'
-echo "============================================================"
-MAJOR="${VERSION_MM%.*}"
-MINOR="${VERSION_MM#*.}"
-PATCH="${VERSION##*.}"
-cd ${GEODE}/../..
-echo "Next steps:"
-echo "1. Click 'Release' in http://repository.apache.org/ (if you haven't
already)"
-[ -n "$LATER" ] || 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"
-[ -n "$LATER" ] || echo "3b.Go to
https://github.com/${GITHUB_USER}/geode-native/pull/new/update-to-geode-${VERSION}
and create the pull request"
-[ -n "$LATER" ] && tag=":${VERSION}" || tag=""
-echo "4. Validate docker image: docker run -it apachegeode/geode${tag}"
-[ -n "$LATER" ] && caveat=" (UNLESS they are still unreleased on a later patch
branch)"
-echo "5. Bulk-transition JIRA issues fixed in this release to Closed${caveat}"
-echo "5b.Publish to GitHub ( https://github.com/apache/geode/tags then Create
Release from the 2nd ... menu )."
-echo " Upload apache-geode-${VERSION}.tgz from: open
${GEODE}/geode-assembly/build/distributions/"
-echo " Release Title: Apache Geode ${VERSION}"
-echo " Release Description:"
-[ "${PATCH}" -ne 0 ] && echo "This patch release includes a few bug fixes." ||
echo " This release includes a significant number of bug fixes and
improvements."
-echo ""
-echo "sha256 for apache-geode-${VERSION}.tgz is $(awk '{print $1}' <
${GEODE}/geode-assembly/build/distributions/apache-geode-${VERSION}.tgz.sha256)"
-echo ""
-echo "See full release notes at
https://cwiki.apache.org/confluence/display/GEODE/Release+Notes#ReleaseNotes-${VERSION}"
-echo ""
-echo "6. Wait overnight for apache mirror sites and mavencentral to sync"
-[ -n "$LATER" ] || 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}"
-[ "${PATCH}" -ne 0 ] || echo "10. If 3rd-party dependencies haven't been
bumped in awhile, ask on the dev list for a volunteer (details in
dev-tools/dependencies/README.md)"
-[ "${PATCH}" -ne 0 ] || [ "${MINOR}" -lt 15 ] || echo "11. In accordance with
Geode's N-2 support policy, the time has come to ${0%/*}/end_of_support.sh -v
${MAJOR}.$((MINOR - 3))"
-[ "${PATCH}" -ne 0 ] || [ -n "$LATER" ] || echo "12. Log in to
https://hub.docker.com/repository/docker/apachegeode/geode and update the
latest Dockerfile linktext and url to ${VERSION_MM}"
-[ -n "$LATER" ] || andnative=", geode-benchmarks, and geode-native"
-echo "If there are any support branches between ${VERSION_MM} and develop,
manually cherry-pick '${VERSION}' bump from develop to those branches of
geode${andnative}."
-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"
-[ "${PATCH}" -ne 0 ] || echo "Run cd ${GEODE} &&
geode-management/src/test/script/update-management-wiki.sh"
-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 c480ea7..0000000
--- a/dev-tools/release/set_copyright.sh
+++ /dev/null
@@ -1,59 +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}
- git grep -l '^Copyright.*Apache' | grep NOTICE | while read NOTICE ; do
- 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
- done
- 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 2b0bbbc..0000000
--- a/dev-tools/release/set_versions.sh
+++ /dev/null
@@ -1,202 +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
-GEODE_BENCHMARKS=$WORKSPACE/geode-benchmarks
-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}
[email protected]:apache/geode.git
- git clone --single-branch --branch support/${VERSION_MM}
[email protected]:apache/geode-examples.git
- git clone --single-branch --branch support/${VERSION_MM}
[email protected]:apache/geode-benchmarks.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'
-sed -E \
- -e "s#product_version: '[0-9.]+'#product_version: '${VERSION_MM}'#" \
- -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
ci/docker/cache_dependencies.sh
ci/images/google-geode-builder/scripts/cache_dependencies.sh
-if [ $(git diff --staged | wc -l) -gt 0 ] ; then
- git diff --staged --color | cat
- git commit -m "Bumping version to ${VERSION}"
- [ "$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}"
- [ "$NOPUSH" = "true" ] || git push -u origin
-fi
-set +x
-
-
-echo ""
-echo "============================================================"
-echo "Setting geode-benchmarks version"
-echo "============================================================"
-set -x
-cd ${GEODE_BENCHMARKS}
-git pull
-set +x
-
-#versionNumber = 1.14.0
-sed -e "s/^versionNumber = .*/versionNumber = ${VERSION}/" \
- -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 "Bumping version to ${VERSION}"
- [ "$NOPUSH" = "true" ] || git push -u origin
-fi
-set +x
-
-
-echo ""
-echo "============================================================"
-echo 'Done setting support versions!'
-echo "============================================================"
-cd ${GEODE}/../..