diff --git a/.github/scripts/check_team_membership.sh b/.github/scripts/check_team_membership.sh new file mode 100755 index 00000000..51c958d4 --- /dev/null +++ b/.github/scripts/check_team_membership.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +USER=$1 +TOKEN=$2 + +response=$(curl -s -H "Authorization: token $TOKEN" "https://api.github.com/orgs/immutable/teams/sdk/memberships/$USER") + +if echo "$response" | grep -q '"state": "active"'; then + echo "true" +else + echo "false" +fi diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 7a3d0673..4f75b791 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -61,3 +61,4 @@ jobs: VALIDATE_MARKDOWN: false VALIDATE_GITLEAKS: false VALIDATE_JSCPD: false + VALIDATE_SHELL_SHFMT: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3a5027a3..7c4ab75d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,8 +21,8 @@ jobs: - name: Get the latest tag run: | git fetch --tags - LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`) - echo "LATEST_TAG=${LATEST_TAG}" >> $GITHUB_ENV + LATEST_TAG="$(git describe --tags "$(git rev-list --tags --max-count=1)")" + echo "LATEST_TAG=${LATEST_TAG}" >> "$GITHUB_ENV" - name: Pull LFS run: git lfs pull diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 7f086c02..35c6c5d7 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -26,7 +26,7 @@ jobs: id: extract_version run: | VERSION=$(jq -r .version ./src/Packages/Passport/package.json) - echo "VERSION=$VERSION" >> $GITHUB_ENV + echo "VERSION=$VERSION" >> "$GITHUB_ENV" - name: Create Tag uses: negz/create-tag@v1 diff --git a/.github/workflows/update-version.yml b/.github/workflows/update-version.yml index a360fe3e..1f8d501f 100644 --- a/.github/workflows/update-version.yml +++ b/.github/workflows/update-version.yml @@ -10,10 +10,17 @@ on: jobs: update: - if: contains('["nattb8"]', github.actor) runs-on: ubuntu-latest - steps: + - name: Check team membership + id: check_team + run: | + IS_MEMBER=$(./.github/scripts/check_team_membership.sh "${{ github.actor }}" "${{ secrets.GITHUB_TOKEN }}") + if [[ "$IS_MEMBER" != "true" ]]; then + echo "Not a member of the SDK team, skipping update" + exit 1 + fi + - name: Checkout code uses: actions/checkout@v3 @@ -30,7 +37,14 @@ jobs: run: | FILE=./src/Packages/Passport/package.json VERSION=${{ github.event.inputs.version }} - jq --arg version "$VERSION" '.version = $version' "./src/Packages/Passport/package.json" > tmp.$$.json && mv tmp.$$.json "./src/Packages/Passport/package.json" + jq --arg version "$VERSION" '.version = $version' $FILE > tmp.$$.json && mv tmp.$$.json $FILE + + - name: Replace engine sdk version string + id: replace_engine_sdk_version + run: | + FILE=./src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs + VERSION=${{ github.event.inputs.version }} + sed -i -E "s/[0-9]+\.[0-9]+\.[0-9]+/$VERSION/g" $FILE - uses: gr2m/create-or-update-pull-request-action@v1 env: diff --git a/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs b/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs new file mode 100644 index 00000000..78d8b927 --- /dev/null +++ b/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs @@ -0,0 +1,10 @@ +namespace Immutable.Passport.Helpers +{ + public class SdkVersionInfoHelpers + { + public static string GetSdkVersionInfo() + { + return "1.16.6"; + } + } +} diff --git a/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs.meta b/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs.meta new file mode 100644 index 00000000..b756b82d --- /dev/null +++ b/src/Packages/Passport/Runtime/Scripts/Private/Helpers/SdkVersionInfoHelpers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cf750b4fcec324f1ab04ca82bdc4e921 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/Packages/Passport/Runtime/Scripts/Private/Model/Request/VersionInfo.cs b/src/Packages/Passport/Runtime/Scripts/Private/Model/Request/VersionInfo.cs index de8c8594..b743e607 100644 --- a/src/Packages/Passport/Runtime/Scripts/Private/Model/Request/VersionInfo.cs +++ b/src/Packages/Passport/Runtime/Scripts/Private/Model/Request/VersionInfo.cs @@ -7,6 +7,7 @@ public class VersionInfo { public string engine; public string engineVersion; + public string engineSdkVersion; public string platform; public string platformVersion; public string deviceModel; diff --git a/src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs b/src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs index 72c49922..1029d64d 100644 --- a/src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs +++ b/src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs @@ -60,6 +60,7 @@ public async UniTask Init(string clientId, string environment, string redirectUr { engine = "unity", engineVersion = Application.unityVersion, + engineSdkVersion = SdkVersionInfoHelpers.GetSdkVersionInfo(), platform = Application.platform.ToString(), platformVersion = SystemInfo.operatingSystem, deviceModel = SystemInfo.deviceModel