@@ -34,11 +34,29 @@ jobs:
3434
3535 if [ $INPUT_VERSION = "next" ]; then
3636 CURR=$(jq -r .version package.json)
37- MAJOR=$(echo $CURR | cut -d. -f1)
38- MINOR=$(echo $CURR | cut -d. -f2)
39- PATCH=$(echo $CURR | cut -d. -f3)
40- NEW_PATCH=$((PATCH+1))
41- NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
37+ BRANCH_NAME="${{ github.ref_name }}"
38+
39+ # Check if branch name contains "beta"
40+ if [[ $BRANCH_NAME == *"beta"* ]]; then
41+ # Handle beta version (e.g., 3.7.1-beta.1 -> 3.7.1-beta.2)
42+ if [[ $CURR =~ ^([0-9]+\.[0-9]+\.[0-9]+-beta\.)([0-9]+)$ ]]; then
43+ BASE="${BASH_REMATCH[1]}"
44+ BETA_NUM="${BASH_REMATCH[2]}"
45+ NEW_BETA_NUM=$((BETA_NUM+1))
46+ NEW_VERSION="${BASE}${NEW_BETA_NUM}"
47+ echo "::notice::Incrementing beta version: $CURR -> $NEW_VERSION"
48+ else
49+ echo "::error::Branch contains 'beta' but version format is invalid: $CURR"
50+ exit 1
51+ fi
52+ else
53+ # Handle regular version (e.g., 3.7.1 -> 3.7.2)
54+ MAJOR=$(echo $CURR | cut -d. -f1)
55+ MINOR=$(echo $CURR | cut -d. -f2)
56+ PATCH=$(echo $CURR | cut -d. -f3)
57+ NEW_PATCH=$((PATCH+1))
58+ NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
59+ fi
4260 VERSION="$NEW_VERSION"
4361 else
4462 VERSION="${{ github.event.inputs.version }}"
0 commit comments