From 24c784a10caeaeb24927cae33f2edded1e50dd70 Mon Sep 17 00:00:00 2001 From: Abhishek K <32607604+abhishek9686@users.noreply.github.com> Date: Tue, 12 Mar 2024 08:14:05 +0700 Subject: [PATCH] NET-962: add semver check (#2854) * add semver check * indentation on if --- scripts/nm-quick.sh | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/scripts/nm-quick.sh b/scripts/nm-quick.sh index 9a965dba0..7ddcac95b 100755 --- a/scripts/nm-quick.sh +++ b/scripts/nm-quick.sh @@ -708,7 +708,12 @@ upgrade() { unset IMAGE_TAG unset BUILD_TAG IMAGE_TAG=$UI_IMAGE_TAG - BUILD_TAG=$UI_IMAGE_TAG + semver=$(chsv_check_version_ex "$UI_IMAGE_TAG") + if [[ ! "$semver" ]]; then + BUILD_TAG=$LATEST + else + BUILD_TAG=$UI_IMAGE_TAG + fi echo "-----------------------------------------------------" echo "Provide Details for pro installation:" echo " 1. Log into https://app.netmaker.io" @@ -734,7 +739,13 @@ downgrade () { unset IMAGE_TAG unset BUILD_TAG IMAGE_TAG=$UI_IMAGE_TAG - BUILD_TAG=$UI_IMAGE_TAG + + semver=$(chsv_check_version_ex "$UI_IMAGE_TAG") + if [[ ! "$semver" ]]; then + BUILD_TAG=$LATEST + else + BUILD_TAG=$UI_IMAGE_TAG + fi save_config if [ -a "$SCRIPT_DIR"/docker-compose.override.yml ]; then rm -f "$SCRIPT_DIR"/docker-compose.override.yml @@ -744,6 +755,23 @@ downgrade () { install_netmaker } +function chsv_check_version() { + if [[ $1 =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$ ]]; then + echo "$1" + else + echo "" + fi +} + +function chsv_check_version_ex() { + if [[ $1 =~ ^v.+$ ]]; then + chsv_check_version "${1:1}" + else + chsv_check_version "${1}" + fi +} + + main (){