File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -61,15 +61,29 @@ jobs:
61
61
id : set
62
62
run : |
63
63
TAG_NAME=${GITHUB_REF##*/}
64
- # From https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
65
- # with "v" prepended.
66
- SEMVER_REGEX="^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"
64
+
65
+ # From https://github.com/fsaintjacques/semver-tool/blob/master/src/semver
66
+
67
+ NAT='0|[1-9][0-9]*'
68
+ ALPHANUM='[0-9]*[A-Za-z-][0-9A-Za-z-]*'
69
+ IDENT="$NAT|$ALPHANUM"
70
+ FIELD='[0-9A-Za-z-]+'
71
+
72
+ SEMVER_REGEX="\
73
+ ^[vV]?\
74
+ ($NAT)\\.($NAT)\\.($NAT)\
75
+ (\\-(${IDENT})(\\.(${IDENT}))*)?\
76
+ (\\+${FIELD}(\\.${FIELD})*)?$"
77
+
67
78
if [[ ${TAG_NAME} =~ ${SEMVER_REGEX} ]]; then
79
+ echo "Tag ${TAG_NAME} matches SemVer regex, with groups ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} ${BASH_REMATCH[3]} ${BASH_REMATCH[4]}"
68
80
echo "LEAN_VERSION_MAJOR=${BASH_REMATCH[1]}" >> $GITHUB_OUTPUT
69
81
echo "LEAN_VERSION_MINOR=${BASH_REMATCH[2]}" >> $GITHUB_OUTPUT
70
82
echo "LEAN_VERSION_PATCH=${BASH_REMATCH[3]}" >> $GITHUB_OUTPUT
71
83
echo "LEAN_SPECIAL_VERSION_DESC=${BASH_REMATCH[4]}" >> $GITHUB_OUTPUT
72
84
echo "RELEASE_TAG=$TAG_NAME" >> $GITHUB_OUTPUT
85
+ else
86
+ echo "Tag ${TAG_NAME} did not match SemVer regex."
73
87
fi
74
88
75
89
build :
You can’t perform that action at this time.
0 commit comments