From: robert.tomczyk Date: Mon, 29 Jul 2019 09:39:22 +0000 (+0100) Subject: GEODE: Make sure the git tag in correct format is present X-Git-Url: https://gerrit.nordix.org/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F74%2F1774%2F3;p=infra%2Fcicd.git GEODE: Make sure the git tag in correct format is present Change-Id: I868f922fc806917d2b92be781c2ef3cb53faa4b4 --- diff --git a/jjb/geode/apache-geode-build/set_geode_build_version.sh b/jjb/geode/apache-geode-build/set_geode_build_version.sh index 4028771b..2de958a7 100755 --- a/jjb/geode/apache-geode-build/set_geode_build_version.sh +++ b/jjb/geode/apache-geode-build/set_geode_build_version.sh @@ -23,14 +23,14 @@ set -o pipefail cd $WORKSPACE/geode -# Get most recent tag that is reachable from a commit -GEODE_VERSION=$(git describe --abbrev=0 | sed -r "s#rel/v(.*)#\1#") +# Get most recent tag that is reachable from a commit on current branch +GEODE_VERSION=$(git describe --abbrev=0 --tags | sed -r "s#rel/v(.*)#\1#") BUILD_DATE=$(date '+%Y%m%d%H%M') if [ ! -d ${WORKSPACE}/geode-build-version ] ; then mkdir ${WORKSPACE}/geode-build-version fi -# Make sure the Geode tag version is in agreed fromat: \d.\d.\d.[ \d or RC\d ] -if [[ ${GEODE_VERSION} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.(RC[0-9]+|[0-9]+)$ ]] ; then +# Make sure the Geode tag version is in agreed format: \d.\d.\d.\d.[RC\d]? +if [[ ${GEODE_VERSION} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(\.RC[0-9]+)?$ ]] ; then echo "${GEODE_VERSION}-NORDIX.${BUILD_DATE}" > ${WORKSPACE}/geode-build-version/number else echo "ERROR: Incorrect geode version specified: ${GEODE_VERSION}" diff --git a/jjb/geode/apache-geode-macros.yaml b/jjb/geode/apache-geode-macros.yaml index a2a32bec..04f94d3f 100644 --- a/jjb/geode/apache-geode-macros.yaml +++ b/jjb/geode/apache-geode-macros.yaml @@ -45,4 +45,10 @@ name: 'apache-geode-setup-slave-macro' builders: - shell: - !include-raw: ./apache-geode-slave/slave_setup.sh \ No newline at end of file + !include-raw: ./apache-geode-slave/slave_setup.sh + +- builder: + name: 'verify-geode-tag-macro' + builders: + - shell: + !include-raw: ./verify_geode_tag.sh \ No newline at end of file diff --git a/jjb/geode/apache-geode-test-coordinator.yaml b/jjb/geode/apache-geode-test-coordinator.yaml index 7aab7488..d1366d4b 100644 --- a/jjb/geode/apache-geode-test-coordinator.yaml +++ b/jjb/geode/apache-geode-test-coordinator.yaml @@ -69,6 +69,7 @@ - github builders: + - 'verify-geode-tag-macro' - multijob: name: SlaveSetup condition: SUCCESSFUL diff --git a/jjb/geode/verify_geode_tag.sh b/jjb/geode/verify_geode_tag.sh new file mode 100755 index 00000000..64a9a386 --- /dev/null +++ b/jjb/geode/verify_geode_tag.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# Copyright (C) 2018-2019 Nordix Foundation. +# ================================================================================ +# Licensed 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +set -o errexit +set -o nounset +set -o pipefail + +gitlog(){ + git log --pretty=format:'%Cred%h|%Cgreen%an|%Cblue%s%Creset' | \ + awk -F '|' '{ printf "%s %-20s %s\n", $1, $2, $3 }' | head -${1} +} + +cd $WORKSPACE/geode +GEODE_VERSION=$(git describe --abbrev=0 --tags | sed -r "s#rel/v(.*)#\1#") +GIT_LOGS=8 + +# Make sure the Geode tag version is in agreed format: \d.\d.\d.\d.[RC\d]? +if [[ ${GEODE_VERSION} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(\.RC[0-9]+)?$ ]] ; then + echo -e "\n--------------------------------------------------------------------------" + echo -e "\nTesting Geode version: ${GEODE_VERSION}\n" + echo -e "------------------- Summary for last commit on the branch ------------------" + git show --stat + echo -e "\n--------------- The last ${GIT_LOGS} commits on the branch ---------------" + gitlog ${GIT_LOGS} +else + echo "ERROR: Incorrect geode tag version on the branch: ${GEODE_VERSION}" + exit 1 +fi