Skip to content

Commit

Permalink
GEODE-9529: fix release scripts (benchmark baseline, docker) (#6779)
Browse files Browse the repository at this point in the history
* update benchmark baseline on support branch on new minor release
* make it clear that Dockerfile on develop is a template, and can only be used to build a Geode image from a released support branch
* change end-of-support message to version-based not time-based
  • Loading branch information
onichols-pivotal authored Aug 21, 2021
1 parent 0d1954b commit 9ff39d1
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 13 deletions.
20 changes: 16 additions & 4 deletions dev-tools/release/promote_rc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ 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
Expand Down Expand Up @@ -423,7 +424,7 @@ set +x

echo ""
echo "============================================================"
echo "Updating 'old' versions on support/$VERSION_MM"
echo "Updating 'old' versions and Benchmarks baseline on support/$VERSION_MM"
echo "============================================================"
set -x
cd ${GEODE}
Expand All @@ -435,10 +436,22 @@ sed -e "s/].each/,\\
'${VERSION}'].each/" \
-i.bak settings.gradle
rm settings.gradle.bak
PATCH=${VERSION##*.}
if [ $PATCH -eq 0 ] ; then
#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 on support/$VERSION_MM"
git commit -m "add ${VERSION} to old versions${BENCHMSG2} on support/$VERSION_MM"
git push
set +x

Expand Down Expand Up @@ -492,8 +505,7 @@ MAJOR="${VERSION_MM%.*}"
MINOR="${VERSION_MM#*.}"
PATCH="${VERSION##*.}"
[ "${PATCH}" -ne 0 ] || echo "10. Ask on the dev list for a volunteer to begin the chore of updating 3rd-party dependency versions on develop (see dev-tools/dependencies/README.md)"
M=$(date --date '+18 months' '+%a, %B %d %Y' 2>/dev/null || date -v +9m "+%a, %B %d %Y" 2>/dev/null || echo "18 months from now")
[ "${PATCH}" -ne 0 ] || echo "11. Mark your calendar for $M (assuming we release Geode ${MAJOR}.$((MINOR + 3)) on that day) to run ${0%/*}/end_of_support.sh -v ${VERSION_MM}"
[ "${PATCH}" -ne 0 ] || [ "${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}"
echo "If there are any support branches between ${VERSION_MM} and develop, manually cherry-pick '${VERSION}' bumps to those branches of geode and geode-native."
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"
Expand Down
15 changes: 6 additions & 9 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,23 @@

FROM bellsoft/liberica-openjdk-alpine:8

RUN echo "This is a TEMPLATE, DO NOT build from this Dockerfile. Instead checkout master or any released support/x.y branch." ; exit 1

# runtime dependencies
RUN apk add --no-cache \
bash \
ncurses

# pub 4096R/ABF4396F 2018-04-12 [expires: 2022-04-12]
# 8763 31B4 5A97 E382 D1BD FB44 4482 0F9C ABF4 396F
# uid [ undef ] Mike Stolz <[email protected]>
# sub 4096R/3871E6AD 2018-04-12 [expires: 2022-04-12]
ENV GEODE_GPG DB5476815A475574577D442B468A4800EAFB2498
# TODO does this change per-release like other Apache projects? (and thus needs to be a list of full fingerprints from a KEYS file instead?)
ENV GEODE_GPG $$PLACEHOLDER$$

ENV GEODE_HOME /geode
ENV PATH $PATH:$GEODE_HOME/bin

# https://geode.apache.org/releases/
ENV GEODE_VERSION 1.9.0
ENV GEODE_VERSION $$PLACEHOLDER$$
# Binaries TGZ SHA-256
# https://dist.apache.org/repos/dist/release/geode/VERSION/apache-geode-VERSION.tgz.sha256
ENV GEODE_SHA256 8794808ebc89bc855f0b989b32e91e890d446cfd058e123f6ccb9e12597c1c4f
ENV GEODE_SHA256 $$PLACEHOLDER$$

# http://apache.org/dyn/closer.cgi/geode/1.3.0/apache-geode-1.3.0.tgz

Expand All @@ -50,7 +47,7 @@ RUN set -eux; \
; do \
target="$(basename "$file")"; \
for url in \
"https://www.apache.org/dyn/closer.lua/$file?action=download"
"https://www.apache.org/dyn/closer.lua/$file?action=download" \
"https://downloads.apache.org/$file" \
"https://archive.apache.org/dist/$file" \
; do \
Expand Down

0 comments on commit 9ff39d1

Please sign in to comment.