From 53eaa7cbee1fd28fda3f88d28dd14b3affe24356 Mon Sep 17 00:00:00 2001
From: Andrea Valassi <andrea.valassi@cern.ch>
Date: Tue, 7 Nov 2017 18:03:40 +0100
Subject: [PATCH] Improve (pre-)release candidate checks

---
 .functions.sh | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/.functions.sh b/.functions.sh
index 016ca65..93205d0 100644
--- a/.functions.sh
+++ b/.functions.sh
@@ -17,13 +17,23 @@ function is_rc_tag()
   fi
   local _rva=$1
   local _tag=$2
-  local _rev=$(echo $_tag | cut -d '.' -f3- | cut -d '-' -f2)
+  local _rev=$(echo $_tag | cut -d '.' -f3- | cut -d '-' -f2-)
   if [ "${_rev#0.rc}" != "${_rev}" ] || [ "${_rev#0.prc}" != "${_rev}" ]; then
     echo "WARNING: tag ${tag} is a (pre-)release-candidate"
     printf "\n"
     eval ${_rva}=true
-  elif [ "${_rev#0_rc}" != "${_rev}" ] || [ "${_rev#0_prc}" != "${_rev}" ] ||
-      [ "${_rev#0-rc}" != "${_rev}" ] || [ "${_rev#0-prc}" != "${_rev}" ] ||
+  elif [ "${_rev#*_rc}" != "${_rev}" ] || [ "${_rev#*_prc}" != "${_rev}" ] ||
+      [ "${_rev#*-rc}" != "${_rev}" ] || [ "${_rev#*-prc}" != "${_rev}" ] ||
+      [ "${_rev#*.rc}" != "${_rev}" ] || [ "${_rev#*.prc}" != "${_rev}" ] ||
+      [ "${_rev#9rc}" != "${_rev}" ] || [ "${_rev#9prc}" != "${_rev}" ] ||
+      [ "${_rev#8rc}" != "${_rev}" ] || [ "${_rev#8prc}" != "${_rev}" ] ||
+      [ "${_rev#7rc}" != "${_rev}" ] || [ "${_rev#7prc}" != "${_rev}" ] ||
+      [ "${_rev#6rc}" != "${_rev}" ] || [ "${_rev#6prc}" != "${_rev}" ] ||
+      [ "${_rev#5rc}" != "${_rev}" ] || [ "${_rev#5prc}" != "${_rev}" ] ||
+      [ "${_rev#4rc}" != "${_rev}" ] || [ "${_rev#4prc}" != "${_rev}" ] ||
+      [ "${_rev#3rc}" != "${_rev}" ] || [ "${_rev#3prc}" != "${_rev}" ] ||
+      [ "${_rev#2rc}" != "${_rev}" ] || [ "${_rev#2prc}" != "${_rev}" ] ||
+      [ "${_rev#1rc}" != "${_rev}" ] || [ "${_rev#1prc}" != "${_rev}" ] ||
       [ "${_rev#0rc}" != "${_rev}" ] || [ "${_rev#0prc}" != "${_rev}" ]; then
     echo "ERROR! Tag ${tag} is an invalid tag"
     echo "ERROR! Use -0.rcXX or -0.prcXX for (pre-)release candidates"
-- 
GitLab