From 4441e822132c55e9945f12c7cc31417d149e2eda Mon Sep 17 00:00:00 2001 From: David Edwards Date: Thu, 27 Feb 2020 11:21:35 +0000 Subject: [PATCH] Create verifyReleaseTag.sh --- scripts/travis/verifyReleaseTag.sh | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 scripts/travis/verifyReleaseTag.sh diff --git a/scripts/travis/verifyReleaseTag.sh b/scripts/travis/verifyReleaseTag.sh new file mode 100644 index 000000000..e11ff9914 --- /dev/null +++ b/scripts/travis/verifyReleaseTag.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -e + +alfresco_docker_image="alfresco/alfresco-content-repository-community" +if [ -v ${release_version} ]||[ -z ${release_version} ]; then + # if we don't have a user added release version, get the verison from the pom + pom_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) + if echo $pom_version | grep -q ".*-SNAPSHOT"; then + release_version=${pom_version%-*} # remove everything after the last '-' + else + release_version=$pom_version + fi +fi +docker_image_full_name="$alfresco_docker_image:$release_version" + +function docker_image_exists() { + local image_full_name="$1"; shift + local wait_time="${1:-5}" + local search_term='Pulling|is up to date|not found' + echo "Looking to see if $image_full_name already exists..." + local result="$((timeout --preserve-status "$wait_time" docker 2>&1 pull "$image_full_name" &) | grep -v 'Pulling repository' | egrep -o "$search_term")" + test "$result" || { echo "Timed out too soon. Try using a wait_time greater than $wait_time..."; return 1 ;} + if echo $result | grep -vq 'not found'; then + true + else + false + fi +} + +if docker_image_exists $docker_image_full_name; then + echo "Tag $release_version already pushed, release process will interrupt." + exit -1 +else + echo "The $release_version tag was not found" +fi \ No newline at end of file