From 1060332e62d1216bf33c697d0a54ba35d4903eb3 Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Thu, 2 Jul 2020 12:39:00 +0000 Subject: 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 --- src/scripts/version | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/scripts') diff --git a/src/scripts/version b/src/scripts/version index 807109e4103..7e7711637cb 100755 --- a/src/scripts/version +++ b/src/scripts/version @@ -20,7 +20,7 @@ cd "$path" if [ -f .version ]; then vstring=$(cat .version) else - vstring=$(git describe) + vstring=$(git describe --long) if [ $? != 0 ]; then exit 1 fi @@ -28,10 +28,22 @@ 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 --match 'v*'| cut -s -d- -f3,4) + CMT=$(git describe --dirty --long --match 'v*'| cut -s -d- -f3,4) else CMT=$(echo ${vstring} | cut -s -d- -f3,4) fi @@ -47,12 +59,12 @@ if [ "$1" = "rpm-version" ]; then fi if [ "$1" = "rpm-release" ]; then - [ -z "${ADD}" ] && echo release && exit + [ "${ADD}" = "0" ] && echo release && exit echo ${ADD}${CMTR:+~${CMTR}}${BLD} exit fi - if [ -n "${ADD}" ]; then + if [ "${ADD}" != "0" ]; then if [ "$1" = "rpm-string" ]; then echo ${TAG}-${ADD}${CMTR:+~${CMTR}}${BLD} else -- cgit 1.2.3-korg