Skip to content

Commit 1041f49

Browse files
committed
✏️ Support getting the version info from the release title file of GitHub Action reusable workflow project.
1 parent 7728180 commit 1041f49

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

scripts/ci/build_git-tag_or_create_github-release.sh

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,28 +82,26 @@ fi
8282
declare Software_Version_Reg
8383
declare Python_Version_Reg
8484

85-
if [ "$Input_Arg_Release_Type" == 'python-package' ]; then
85+
declare version_reg
86+
if [ "$Input_Arg_Software_Version_Format" == "general-2" ]; then
87+
version_reg="[0-9]\.[0-9]"
88+
elif [ "$Input_Arg_Software_Version_Format" == "general-3" ]; then
89+
version_reg="[0-9]\.[0-9]\.[0-9]"
90+
elif [ "$Input_Arg_Software_Version_Format" == "date-based" ]; then
91+
version_reg="[0-9]{4}\.([0-9]{1,})+"
92+
else
93+
# Default value
94+
version_reg="[0-9]\.[0-9]\.[0-9]"
95+
fi
96+
Software_Version_Reg="$version_reg*([\.,-]*([a-zA-Z]{1,})*([0-9]{0,})*){0,}"
8697

98+
if [ "$Input_Arg_Release_Type" == 'python-package' ]; then
8799
if [ "$Input_Arg_Python_Pkg_Name" == "" ]; then
88100
echo "❌ The argument 'Input_Arg_Python_Pkg_Name' (second argument) cannot be empty if option 'Input_Arg_Release_Type' (first argument) is 'python-package'."
89101
exit 1
90102
fi
91103

92-
declare version_reg
93-
if [ "$Input_Arg_Software_Version_Format" == "general-2" ]; then
94-
version_reg="[0-9]\.[0-9]"
95-
elif [ "$Input_Arg_Software_Version_Format" == "general-3" ]; then
96-
version_reg="[0-9]\.[0-9]\.[0-9]"
97-
elif [ "$Input_Arg_Software_Version_Format" == "date-based" ]; then
98-
version_reg="[0-9]{4}\.([0-9]{1,})+"
99-
else
100-
# Default value
101-
version_reg="[0-9]\.[0-9]\.[0-9]"
102-
fi
103-
104-
Software_Version_Reg="$version_reg*([\.,-]*([a-zA-Z]{1,})*([0-9]{0,})*){0,}"
105104
Python_Version_Reg="__version__ = \"$Software_Version_Reg\""
106-
107105
fi
108106

109107
#if [ "$Input_Arg_Release_Type" == 'python-package' ]; then
@@ -177,12 +175,18 @@ generate_new_version_as_tag() {
177175
echo "🔎 📃 Current Version: $current_ver"
178176

179177
# current_ver=$(git describe --tag --abbrev=0 --match "v[0-9]\.[0-9]\.[0-9]" | grep -E -o '[0-9]\.[0-9]\.[0-9]' | head -n1 | cut -d "." -f1)
180-
if [ "$current_ver" == "" ]; then
181-
current_ver=0
178+
# NOTE: It it has value, the version is a semi-version number like '6.1.0'
179+
# shellcheck disable=SC2002
180+
New_Release_Version=$(cat "$Auto_Tag_And_Release_Dir/$Auto_Release_Title" | grep -E -o "$Software_Version_Reg")
181+
New_Release_Tag='v'$New_Release_Version
182+
if [ "$New_Release_Version" == "" ]; then
183+
# NOTE: The version is a pure number like '6'
184+
if [ "$current_ver" == "" ]; then
185+
current_ver=0
186+
fi
187+
New_Release_Version=$(( current_ver + 1 ))
188+
New_Release_Tag='v'$New_Release_Version'.0.0'
182189
fi
183-
# TODO: Modify the logic about it also can get the version from the specific file
184-
New_Release_Version=$(( current_ver + 1 ))
185-
New_Release_Tag='v'$New_Release_Version'.0.0'
186190
fi
187191
}
188192

0 commit comments

Comments
 (0)