diff options
author | Andrew Yourtchenko <ayourtch@gmail.com> | 2020-07-02 12:39:00 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-08-18 10:40:15 +0000 |
commit | 1060332e62d1216bf33c697d0a54ba35d4903eb3 (patch) | |
tree | 7c56a437d18492074386a979a1e14e88a3e2b13f | |
parent | 42b29ba3d4a30e4bf660f3a0a6a4af40d62861fe (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-x | src/scripts/version | 20 |
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 |