1010 type : choice
1111 default : ' prerelease'
1212 options :
13- - prerelease # 2025.3.2a13 -> 2025.3.2a14
14- - prepatch # 2025.3.2 -> 2025.3.3a1
15- - preminor # 2025.3.2 -> 2025.4.0a1
13+ - prerelease # 2025.3.2a13 -> 2025.3.2a14, 2026.1.1b1 -> 2026.1.1b2
14+ - prepatch # 2025.3.2a13 -> 2025.3.3a1, 2026.1.1b1 -> 2026.1.2b1
15+ - preminor # 2025.3.2a13 -> 2025.4.0a1, 2026.1.1b1 -> 2026.2.0b1
1616 - custom # Use custom-version input
1717 custom-version :
1818 description : ' Custom version (only if bump-type is "custom", e.g., 2025.4.0b1)'
@@ -70,12 +70,13 @@ jobs:
7070 echo "Using custom version: $NEW_VERSION"
7171 else
7272 # Parse version components
73- # Handle versions like 2025.3.2a13 or 2025.3.2
74- if [[ $CURRENT_VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)(a ([0-9]+))?$ ]]; then
73+ # Handle versions like 2025.3.2a13, 2025.3.2b1, or 2025.3.2
74+ if [[ $CURRENT_VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)((a|b) ([0-9]+))?$ ]]; then
7575 MAJOR="${BASH_REMATCH[1]}"
7676 MINOR="${BASH_REMATCH[2]}"
7777 PATCH="${BASH_REMATCH[3]}"
78- PRE_NUM="${BASH_REMATCH[5]:-0}"
78+ PRE_TAG="${BASH_REMATCH[5]:-a}"
79+ PRE_NUM="${BASH_REMATCH[6]:-0}"
7980 else
8081 echo "Error: Cannot parse version $CURRENT_VERSION"
8182 exit 1
@@ -84,15 +85,15 @@ jobs:
8485 case $BUMP_TYPE in
8586 prerelease)
8687 NEW_PRE=$((PRE_NUM + 1))
87- NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}a ${NEW_PRE}"
88+ NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}${PRE_TAG} ${NEW_PRE}"
8889 ;;
8990 prepatch)
9091 NEW_PATCH=$((PATCH + 1))
91- NEW_VERSION="${MAJOR}.${MINOR}.${NEW_PATCH}a1 "
92+ NEW_VERSION="${MAJOR}.${MINOR}.${NEW_PATCH}${PRE_TAG}1 "
9293 ;;
9394 preminor)
9495 NEW_MINOR=$((MINOR + 1))
95- NEW_VERSION="${MAJOR}.${NEW_MINOR}.0a1 "
96+ NEW_VERSION="${MAJOR}.${NEW_MINOR}.0${PRE_TAG}1 "
9697 ;;
9798 esac
9899 fi
0 commit comments