Skip to content

Commit ac2725b

Browse files
authored
Merge pull request #7 from geoadmin/bug-GPS-327-bump-first-version
GPS-327: Fixed initial tagging
2 parents 069fe8c + 9606474 commit ac2725b

File tree

1 file changed

+35
-16
lines changed

1 file changed

+35
-16
lines changed

entrypoint.sh

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,17 @@ release_branches=${RELEASE_BRANCHES:-master,main}
99
custom_tag=${CUSTOM_TAG:-}
1010
source=${SOURCE:-.}
1111
dryrun=${DRY_RUN:-false}
12-
initial_version=${INITIAL_VERSION:-0.0.0}
1312
tag_context=${TAG_CONTEXT:-repo}
1413
suffix=${PRERELEASE_SUFFIX:-beta}
1514
verbose=${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+
1723
if [[ -z "${suffix}" ]]
1824
then
1925
echo "::error::PRERELEASE_SUFFIX is set to an empty string"
@@ -43,12 +49,6 @@ echo -e "\tPRERELEASE_SUFFIX: ${suffix}"
4349
echo -e "\tVERBOSE: ${verbose}"
4450
echo -e "\tGITHUB_WORKSPACE: ${GITHUB_WORKSPACE}"
4551

46-
prefix=""
47-
if ${with_v}
48-
then
49-
prefix="v"
50-
fi
51-
5252
current_branch=$(git rev-parse --abbrev-ref HEAD)
5353

5454
pre_release="true"
@@ -72,20 +72,36 @@ preTagFmt="^${prefix}[0-9]+\.[0-9]+\.[0-9]+(-${suffix}\.[0-9]+)?$"
7272
case "${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
;;
91107
esac
@@ -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=""
106125
else
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
119138
commit=$(git rev-parse HEAD)

0 commit comments

Comments
 (0)