aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2020-07-02 12:39:00 +0000
committerDamjan Marion <dmarion@me.com>2020-08-18 10:40:15 +0000
commit1060332e62d1216bf33c697d0a54ba35d4903eb3 (patch)
tree7c56a437d18492074386a979a1e14e88a3e2b13f
parent42b29ba3d4a30e4bf660f3a0a6a4af40d62861fe (diff)
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>
-rwxr-xr-xsrc/scripts/version20
1 files changed, 16 insertions, 4 deletions
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