fix(ci): compute strictly monotonic SemVer versionCode for releases (#1365)
This commit is contained in:
1 file changed
+6
-3
@@ -54,10 +54,13 @@ jobs:
|
||||
# Strip leading 'v' for versionName
|
||||
VERSION="${TAG#v}"
|
||||
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
|
||||
# versionCode: strip pre-release suffixes (e.g. 1.25.0-rc1 -> 1.25.0) and dots
|
||||
# versionCode: SemVer MAJOR * 10000 + MINOR * 100 + PATCH (e.g. 2.0.0 -> 20000, > 1.31.0's 1310)
|
||||
BASE_VERSION="${VERSION%%-*}"
|
||||
CODE=$(echo "$BASE_VERSION" | tr -d '.' | sed 's/^0*//')
|
||||
[ -z "$CODE" ] && CODE=0
|
||||
IFS='.' read -r MAJOR MINOR PATCH _ <<< "$BASE_VERSION"
|
||||
MAJOR="${MAJOR:-0}"
|
||||
MINOR="${MINOR:-0}"
|
||||
PATCH="${PATCH:-0}"
|
||||
CODE=$(( MAJOR * 10000 + MINOR * 100 + PATCH ))
|
||||
echo "code=$CODE" >> "$GITHUB_OUTPUT"
|
||||
if [[ "$VERSION" == *"-"* ]]; then
|
||||
PRERELEASE="true"
|
||||
|
||||
Reference in new issue
Block a user