|
1 | 1 | ---
|
2 |
| -name: "Update version in package.json" |
| 2 | +name: "Update SDK version" |
3 | 3 |
|
4 | 4 | on:
|
5 | 5 | workflow_dispatch:
|
6 | 6 | inputs:
|
7 |
| - version: |
8 |
| - description: 'Version to update to (e.g. 1.20.0)' |
| 7 | + upgrade_type: |
| 8 | + type: choice |
| 9 | + description: Upgrade Type |
| 10 | + options: |
| 11 | + - patch |
| 12 | + - minor |
| 13 | + # - major |
9 | 14 | required: true
|
| 15 | + default: patch |
| 16 | + |
| 17 | +env: |
| 18 | + UPGRADE_TYPE: ${{ github.event.inputs.upgrade_type || 'patch' }} |
10 | 19 |
|
11 | 20 | jobs:
|
12 | 21 | update:
|
@@ -37,26 +46,54 @@ jobs:
|
37 | 46 | - name: Install jq
|
38 | 47 | run: sudo apt-get install -y jq
|
39 | 48 |
|
40 |
| - - name: Replace version string |
| 49 | + - name: Update Version in package.json |
41 | 50 | id: replace_version
|
42 | 51 | run: |
|
43 | 52 | FILE=./src/Packages/Passport/package.json
|
44 |
| - VERSION=${{ github.event.inputs.version }} |
45 |
| - jq --arg version "$VERSION" '.version = $version' $FILE > tmp.$$.json && mv tmp.$$.json $FILE |
| 53 | + |
| 54 | + CURRENT_VERSION=$(jq -r '.version' $FILE) |
| 55 | + IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT_VERSION" |
| 56 | +
|
| 57 | + # Increment version based on UPGRADE_TYPE |
| 58 | + case "$UPGRADE_TYPE" in |
| 59 | + major) |
| 60 | + MAJOR=$((MAJOR + 1)) |
| 61 | + MINOR=0 |
| 62 | + PATCH=0 |
| 63 | + ;; |
| 64 | + minor) |
| 65 | + MINOR=$((MINOR + 1)) |
| 66 | + PATCH=0 |
| 67 | + ;; |
| 68 | + patch) |
| 69 | + PATCH=$((PATCH + 1)) |
| 70 | + ;; |
| 71 | + *) |
| 72 | + echo "Invalid upgrade type: $UPGRADE_TYPE" |
| 73 | + exit 1 |
| 74 | + ;; |
| 75 | + esac |
| 76 | +
|
| 77 | + NEW_VERSION="$MAJOR.$MINOR.$PATCH" |
| 78 | + jq --arg version "$NEW_VERSION" '.version = $version' $FILE > tmp.$$.json && mv tmp.$$.json $FILE |
| 79 | + echo "Updated version in package.json from $CURRENT_VERSION to $NEW_VERSION" |
| 80 | +
|
| 81 | + echo "version=$NEW_VERSION" >> "$GITHUB_OUTPUT" |
46 | 82 |
|
47 |
| - - name: Replace engine sdk version string |
| 83 | + - name: Update SDK Version in SdkVersionInfoHelpers.cs |
48 | 84 | id: replace_engine_sdk_version
|
49 | 85 | run: |
|
50 | 86 | FILE=./src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs
|
51 |
| - VERSION=${{ github.event.inputs.version }} |
52 |
| - sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$VERSION/g" $FILE |
| 87 | + NEW_VERSION="${{ steps.replace_version.outputs.version }}" |
| 88 | + sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$NEW_VERSION/g" $FILE |
| 89 | + echo "Updated SDK version in SdkVersionInfoHelpers.cs to $NEW_VERSION" |
53 | 90 |
|
54 | 91 | - uses: gr2m/create-or-update-pull-request-action@v1
|
55 | 92 | env:
|
56 | 93 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
57 | 94 | with:
|
58 | 95 | title: "chore: update version"
|
59 | 96 | body: "Update version in package.json"
|
60 |
| - branch: "chore/update-version-${{ github.event.inputs.version }}" |
| 97 | + branch: "chore/update-version-${{ steps.replace_version.outputs.version }}" |
61 | 98 | commit-message: "chore: update version"
|
62 | 99 | labels: release
|
0 commit comments