@@ -38,35 +38,38 @@ jobs:
38
38
run : |
39
39
git fetch --tags --force
40
40
latest_tag=$(git tag --sort=-creatordate | head -n 1)
41
-
41
+ echo "latest release is ${latest_tag}"
42
42
echo "latest_tag=${latest_tag}" >> $GITHUB_OUTPUT
43
- echo "valid=$(./hack/match-release-tag.sh ${latest_tag} >/dev/null 2>&1)" >> $GITHUB_OUTPUT
43
+
44
+ ./hack/match-release-tag.sh ${latest_tag}
45
+ valid=$?
46
+ echo "valid=${valid}" >> $GITHUB_OUTPUT
44
47
45
48
- name : Find Second Latest Release Tag
46
- if : ${{ steps.check.outputs.valid }}
49
+ if : ${{ steps.check.outputs.valid }} == 0
47
50
id : find
48
51
run : |
49
52
SEMVER_REGEX='^[[:space:]]{0,}v[[:digit:]]{1,}\.[[:digit:]]{1,}\.[[:digit:]]{1,}(-(alpha|beta|rc)\.[[:digit:]]{1,}){0,1}[[:space:]]{0,}$'
50
53
PRERELEASE_SEMVER_REGEX='^v?[0-9]+\.[0-9]+\.[0-9]+-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*$'
51
54
STABLE_RELEASE_SEMVER_REGEX='^v?[0-9]+\.[0-9]+\.[0-9]+$'
52
55
53
56
latest_tag=${{ steps.check.outputs.latest_tag }}
57
+
54
58
if [[ latest_tag =~ ${PRERELEASE_SEMVER_REGEX} ]]; then
55
- second_latest_release_tag=$(git tag --sort=-v:refname | grep -E ${SEMVER_REGEX} | awk ' p{print; exit} /${latest_tag}/{p=1}' )
59
+ second_latest_release_tag=$(git tag --sort=-v:refname | grep -E ${SEMVER_REGEX} | awk " p{print; exit} /${latest_tag}/{p=1}" )
56
60
echo "${latest_tag} is a pre-release, return second latest release tag ${second_latest_release_tag}"
57
61
echo "pre_release=1" >> $GITHUB_OUTPUT
58
62
else
59
- second_latest_release_tag=$(git tag --sort=-v:refname | grep -E ${STABLE_RELEASE_SEMVER_REGEX} | awk ' p{print; exit} /${latest_tag}/{p=1}' )
63
+ second_latest_release_tag=$(git tag --sort=-v:refname | grep -E ${STABLE_RELEASE_SEMVER_REGEX} | awk " p{print; exit} /${latest_tag}/{p=1}" )
60
64
echo "${latest_tag} is a stable release, return second stable release tag ${second_latest_release_tag}"
61
65
fi
62
66
63
67
echo "second_latest_release_tag=${second_latest_release_tag}" >> $GITHUB_OUTPUT
64
68
65
-
66
69
- name : Generate Release Note
67
- if : ${{ steps.check.outputs.valid }}
70
+ if : ${{ steps.check.outputs.valid }} == 0
68
71
run : |
69
- if ${{ steps.find.outputs.pre_release}} >/dev/null 2>&1 ; then
72
+ if [ ${{ steps.find.outputs.pre_release}} -eq 1 ] ; then
70
73
gh release create ${{ steps.check.outputs.latest_tag }} --verify-tag --generate-notes --notes-start-tag ${{ steps.find.outputs.second_latest_release_tag }} --prerelease
71
74
else
72
75
gh release create ${{ steps.check.outputs.latest_tag }} --verify-tag --generate-notes --notes-start-tag ${{ steps.find.outputs.second_latest_release_tag }}
0 commit comments