Files
vpp/src/scripts/version
Andrew Yourtchenko 1060332e62 build: add explicit commit to rc1, rc2 builds, and add ".0" to post-non-dot-release per-patch builds
This addresses problem with incorrect sorting of artifacts in the per-patch packagecloud repositories
for throttle branches, by slightly changing the version string for the non-released (per-build) artifacts:

1) the rc1 and rc2 artifacts now will have the count of
   commits since tag (0) and the explicit commit hash

2) the builds after version XX.YY but before XX.YY.1
are named as if the version was "XX.YY.0"

Type: fix
Change-Id: Ib69a59ee98aa296c5cb24b183bba807b6cb3c05c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-08-18 10:40:15 +00:00

76 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# 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.
path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P )
cd "$path"
if [ -f .version ]; then
vstring=$(cat .version)
else
vstring=$(git describe --long)
if [ $? != 0 ]; then
exit 1
fi
fi
TAG=$(echo ${vstring} | cut -d- -f1 | sed -e 's/^v//')
ADD=$(echo ${vstring} | cut -s -d- -f2)
POINT=$(echo ${TAG} | cut -d. -f3)
# if this is a "implicit zeroth" release (e.g. 19.08), check if we need to add ".0"
# to fix the artifact versioning sorting
if [ -z "${POINT}" ]; then
# verify that we are not:
# - directly on the XX.YY tag (then ADD will equal "0" by its construction)
# - not on any of the builds past "-rc[123]" but before releases - then ADD will be "rc[123]"
if [ "${ADD}" != "0" -a "${ADD}" != "rc0" -a "${ADD}" != "rc1" -a "${ADD}" != "rc2" ]; then
TAG="${TAG}.0"
fi
fi
git rev-parse 2> /dev/null
if [ $? == 0 ]; then
CMT=$(git describe --dirty --long --match 'v*'| cut -s -d- -f3,4)
else
CMT=$(echo ${vstring} | cut -s -d- -f3,4)
fi
CMTR=$(echo $CMT | sed 's/-/_/')
if [ -n "${BUILD_NUMBER}" ]; then
BLD="~b${BUILD_NUMBER}"
fi
if [ "$1" = "rpm-version" ]; then
echo ${TAG}
exit
fi
if [ "$1" = "rpm-release" ]; then
[ "${ADD}" = "0" ] && echo release && exit
echo ${ADD}${CMTR:+~${CMTR}}${BLD}
exit
fi
if [ "${ADD}" != "0" ]; then
if [ "$1" = "rpm-string" ]; then
echo ${TAG}-${ADD}${CMTR:+~${CMTR}}${BLD}
else
echo ${TAG}-${ADD}${CMT:+~${CMT}}${BLD}
fi
else
echo ${TAG}-release
fi