Skip to content

Commit 5cb20b8

Browse files
authored
Merge pull request #405 from immutable/ci/update-version-action-alpha
[DX-3571] ci: update version gh action to handle alpha releases
2 parents 5b15a45 + 4fa6dba commit 5cb20b8

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

.github/workflows/update-version.yml

Lines changed: 30 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
@@ -53,29 +57,35 @@ jobs:
5357
MARKETPLACE_FILE=./src/Packages/Marketplace/package.json
5458
5559
CURRENT_VERSION=$(jq -r '.version' $PASSPORT_FILE)
60+
echo "CURRENT_VERSION: $CURRENT_VERSION"
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+
HAS_ALPHA=$(echo "$CURRENT_VERSION" | grep -q "\.alpha" && echo "true" || echo "false")
64+
echo "HAS_ALPHA: $HAS_ALPHA"
65+
NEW_VERSION=""
66+
67+
if [[ "$HAS_ALPHA" == "true" ]]; then
68+
# If version is alpha and upgrade type is patch, don't increment patch
69+
if [ "$UPGRADE_TYPE" == "patch" ]; then
70+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
71+
elif [ "$UPGRADE_TYPE" == "minor" ]; then
6672
MINOR=$((MINOR + 1))
6773
PATCH=0
68-
;;
69-
patch)
74+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
75+
fi
76+
else
77+
if [ "$UPGRADE_TYPE" == "patch" ]; then
7078
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"
79+
elif [ "$UPGRADE_TYPE" == "minor" ]; then
80+
MINOR=$((MINOR + 1))
81+
PATCH=0
82+
fi
83+
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
84+
fi
85+
86+
if [[ "$MARK_AS_ALPHA" == "true" && "$HAS_ALPHA" == "false" ]]; then
87+
NEW_VERSION="$NEW_VERSION.alpha"
88+
fi
7989
8090
# Update Passport package.json
8191
jq --arg version "$NEW_VERSION" '.version = $version' $PASSPORT_FILE > tmp.$$.json && mv tmp.$$.json $PASSPORT_FILE

0 commit comments

Comments
 (0)