Skip to content

Commit 37e18c5

Browse files
committed
ci: update version gh action to handle alpha releases
1 parent 5b15a45 commit 37e18c5

File tree

1 file changed

+40
-20
lines changed

1 file changed

+40
-20
lines changed

.github/workflows/update-version.yml

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
---
21
name: "Update SDK version"
32

43
on:
@@ -13,9 +12,15 @@ on:
1312
# - major
1413
required: true
1514
default: patch
15+
mark_as_alpha:
16+
type: boolean
17+
description: Mark as alpha release
18+
required: false
19+
default: false
1620

1721
env:
1822
UPGRADE_TYPE: ${{ github.event.inputs.upgrade_type || 'patch' }}
23+
MARK_AS_ALPHA: ${{ github.event.inputs.mark_as_alpha || false }}
1924

2025
jobs:
2126
update:
@@ -30,7 +35,6 @@ jobs:
3035
id: check_team
3136
run: |
3237
./.github/scripts/check_team_membership.sh "${{ github.actor }}" "${{ secrets.UNITY_IMMUTABLE_SDK_GITHUB_TOKEN }}"
33-
# shellcheck disable=SC1090
3438
source "$GITHUB_ENV"
3539
echo "${{ github.actor }} is a member of the SDK team: $IS_MEMBER"
3640
if [[ "$IS_MEMBER" != "true" ]]; then
@@ -49,33 +53,49 @@ jobs:
4953
- name: Update Version in package.json
5054
id: replace_version
5155
run: |
56+
echo "start replacing..."
5257
PASSPORT_FILE=./src/Packages/Passport/package.json
5358
MARKETPLACE_FILE=./src/Packages/Marketplace/package.json
5459
5560
CURRENT_VERSION=$(jq -r '.version' $PASSPORT_FILE)
5661
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION"
5762
58-
# Increment version based on UPGRADE_TYPE
59-
case "$UPGRADE_TYPE" in
60-
major)
61-
MAJOR=$((MAJOR + 1))
62-
MINOR=0
63-
PATCH=0
64-
;;
65-
minor)
63+
echo "CURRENT_VERSION $CURRENT_VERSION"
64+
65+
HAS_ALPHA=$(echo "$CURRENT_VERSION" | grep -o '\.alpha')
66+
67+
echo "HAS_ALPHA $HAS_ALPHA"
68+
69+
NEW_VERSION=""
70+
71+
echo "Check $NEW_VERSION"
72+
73+
if [[ -n "$HAS_ALPHA" ]]; then
74+
# If version is alpha and upgrade type is patch, don't increment patch
75+
if [ "$UPGRADE_TYPE" == "patch" ]; then
76+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
77+
elif [ "$UPGRADE_TYPE" == "minor" ]; then
6678
MINOR=$((MINOR + 1))
6779
PATCH=0
68-
;;
69-
patch)
80+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
81+
fi
82+
else
83+
if [ "$UPGRADE_TYPE" == "patch" ]; then
7084
PATCH=$((PATCH + 1))
71-
;;
72-
*)
73-
echo "Invalid upgrade type: $UPGRADE_TYPE"
74-
exit 1
75-
;;
76-
esac
77-
78-
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
85+
elif [ "$UPGRADE_TYPE" == "minor" ]; then
86+
MINOR=$((MINOR + 1))
87+
PATCH=0
88+
fi
89+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
90+
fi
91+
92+
echo "New version $NEW_VERSION"
93+
94+
if [[ "$MARK_AS_ALPHA" == "true" && -z "$HAS_ALPHA" ]]; then
95+
NEW_VERSION="$NEW_VERSION.alpha"
96+
fi
97+
98+
echo "Handled alpha $NEW_VERSION"
7999
80100
# Update Passport package.json
81101
jq --arg version "$NEW_VERSION" '.version = $version' $PASSPORT_FILE > tmp.$$.json && mv tmp.$$.json $PASSPORT_FILE

0 commit comments

Comments
 (0)