Skip to content

Update engine SDK version in ImmutableDataTypes.h #34

Update engine SDK version in ImmutableDataTypes.h

Update engine SDK version in ImmutableDataTypes.h #34

---
name: "Update engine SDK version in ImmutableDataTypes.h"
on:
workflow_dispatch:
inputs:
upgrade_type:
type: choice
description: Upgrade Type
options:
- patch
- minor
# - major
required: true
default: patch
mark_as_alpha:
type: boolean
description: Mark as alpha release
required: false
default: false
jobs:
update:
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.UNREAL_IMMUTABLE_SDK_GITHUB_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Check team membership
id: check_team
run: |
./.github/scripts/check_team_membership.sh "${{ github.actor }}" "${{ secrets.UNREAL_IMMUTABLE_SDK_GITHUB_TOKEN }}"
# shellcheck disable=SC1090
source "$GITHUB_ENV"
echo "${{ github.actor }} is a member of the SDK team: $IS_MEMBER"
if [[ "$IS_MEMBER" != "true" ]]; then
echo "Not a member of the SDK team, skipping update"
exit 1
fi
- name: Replace engine sdk version string
id: replace_engine_sdk_version
run: |
FILE=./Source/Immutable/Public/Immutable/ImmutableDataTypes.h
UPGRADE_TYPE=${{ github.event.inputs.upgrade_type }}
MARK_AS_ALPHA=${{ github.event.inputs.mark_as_alpha }}
RAW_VERSION=$(grep -oP '#define ENGINE_SDK_VERSION TEXT\("\K[0-9]+\.[0-9]+\.[0-9]+(\.[a-zA-Z]+)?' $FILE)
VERSION=$(echo "$RAW_VERSION" | grep -oP '^[0-9]+\.[0-9]+\.[0-9]+')
HAS_ALPHA=$(echo "$RAW_VERSION" | grep -q "\.alpha" && echo "true" || echo "false")
IFS='.' read -r major minor patch <<< "$VERSION"
if [[ "$HAS_ALPHA" == "true" ]]; then
if [ "$UPGRADE_TYPE" == "patch" ]; then
UPDATED_VERSION="$major.$minor.$patch"
elif [ "$UPGRADE_TYPE" == "minor" ]; then
minor=$((minor + 1))
patch=0
UPDATED_VERSION="$major.$minor.$patch"
fi
else
if [ "$UPGRADE_TYPE" == "patch" ]; then
patch=$((patch + 1))
elif [ "$UPGRADE_TYPE" == "minor" ]; then
minor=$((minor + 1))
patch=0
fi
UPDATED_VERSION="$major.$minor.$patch"
fi
if [[ "$MARK_AS_ALPHA" == "true" && "$HAS_ALPHA" == "false" ]]; then
UPDATED_VERSION="$UPDATED_VERSION.alpha"
fi
sed -i -E "s/#define ENGINE_SDK_VERSION TEXT\(\"[0-9]+\.[0-9]+\.[0-9]+(\.[a-zA-Z]+)?\"\)/#define ENGINE_SDK_VERSION TEXT(\"$UPDATED_VERSION\")/g" $FILE
echo "Updated version: $UPDATED_VERSION"
echo "version=$UPDATED_VERSION" >> "$GITHUB_OUTPUT"
- uses: gr2m/create-or-update-pull-request-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
title: "chore: update version"
body: "Update version in ImmutableDataTypes.h"
branch: "chore/update-version-${{ steps.replace_engine_sdk_version.outputs.version }}"
commit-message: "chore: update version"
labels: release