@@ -9,11 +9,17 @@ release_branches=${RELEASE_BRANCHES:-master,main}
99custom_tag=${CUSTOM_TAG:- }
1010source=${SOURCE:- .}
1111dryrun=${DRY_RUN:- false}
12- initial_version=${INITIAL_VERSION:- 0.0.0}
1312tag_context=${TAG_CONTEXT:- repo}
1413suffix=${PRERELEASE_SUFFIX:- beta}
1514verbose=${VERBOSE:- true}
1615
16+ prefix=" "
17+ if ${with_v}
18+ then
19+ prefix=" v"
20+ fi
21+ initial_version=${INITIAL_VERSION:- ${prefix} 0.0.0}
22+
1723if [[ -z " ${suffix} " ]]
1824then
1925 echo " ::error::PRERELEASE_SUFFIX is set to an empty string"
@@ -43,12 +49,6 @@ echo -e "\tPRERELEASE_SUFFIX: ${suffix}"
4349echo -e " \tVERBOSE: ${verbose} "
4450echo -e " \tGITHUB_WORKSPACE: ${GITHUB_WORKSPACE} "
4551
46- prefix=" "
47- if ${with_v}
48- then
49- prefix=" v"
50- fi
51-
5252current_branch=$( git rev-parse --abbrev-ref HEAD)
5353
5454pre_release=" true"
@@ -72,20 +72,36 @@ preTagFmt="^${prefix}[0-9]+\.[0-9]+\.[0-9]+(-${suffix}\.[0-9]+)?$"
7272case " ${tag_context} " in
7373 * repo* )
7474 mapfile -t taglist < <( git for-each-ref --sort=-v:refname --format ' %(refname:lstrip=2)' | grep -E " ${tagFmt} " )
75- tag=" ${prefix} $( semver " ${taglist[@]} " | tail -n 1) "
75+ if [[ -n " ${taglist[*]} " ]]; then
76+ tag=" ${prefix} $( semver " ${taglist[@]} " | tail -n 1) "
77+ else
78+ tag=" "
79+ fi
7680
7781 mapfile -t pre_taglist < <( git for-each-ref --sort=-v:refname --format ' %(refname:lstrip=2)' | grep -E " ${preTagFmt} " )
78- pre_tag=" ${prefix} $( semver " ${pre_taglist[@]} " | tail -n 1) "
82+ if [[ -n " ${pre_taglist[*]} " ]]; then
83+ pre_tag=" ${prefix} $( semver " ${pre_taglist[@]} " | tail -n 1) "
84+ else
85+ pre_tag=" "
86+ fi
7987 ;;
8088 * branch* )
8189 mapfile -t taglist < <( git tag --list --merged HEAD --sort=-v:refname | grep -E " ${tagFmt} " )
82- tag=" ${prefix} $( semver " ${taglist[@]} " | tail -n 1) "
90+ if [[ -n " ${taglist[*]} " ]]; then
91+ tag=" ${prefix} $( semver " ${taglist[@]} " | tail -n 1) "
92+ else
93+ tag=" "
94+ fi
8395
84- mapfile -t taglist < <( git tag --list --merged HEAD --sort=-v:refname | grep -E " ${preTagFmt} " )
85- pre_tag=" ${prefix} $( semver " ${pre_taglist[@]} " | tail -n 1) "
96+ mapfile -t pre_taglist < <( git tag --list --merged HEAD --sort=-v:refname | grep -E " ${preTagFmt} " )
97+ if [[ -n " ${taglist[*]} " ]]; then
98+ pre_tag=" ${prefix} $( semver " ${pre_taglist[@]} " | tail -n 1) "
99+ else
100+ pre_tag=" "
101+ fi
86102 ;;
87103 * )
88- echo " Unrecognised context" ;
104+ echo " Unrecognized context" ;
89105 exit 1
90106 ;;
91107esac
@@ -103,17 +119,20 @@ then
103119 then
104120 pre_tag=" ${initial_version} "
105121 fi
122+
123+ # We have no tag commit yet
124+ tag_commit=" "
106125else
107126 log=$( git log " ${tag} " ..HEAD --pretty=' %B' )
108127
109128 if ${pre_release}
110129 then
111130 log=$( git log " ${pre_tag} " ..HEAD --pretty=' %B' )
112131 fi
113- fi
114132
115- # get current commit hash for tag
116- tag_commit=$( git rev-list -n 1 " ${tag} " )
133+ # get current commit hash for tag
134+ tag_commit=$( git rev-list -n 1 " ${tag} " )
135+ fi
117136
118137# get current commit hash
119138commit=$( git rev-parse HEAD)
0 commit comments