From dfcc4a30faa9854c3bd9623e6fc7909c202e3166 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 6 May 2026 12:39:11 +0200 Subject: [PATCH 01/17] bump actions --- .github/workflows/build.yml | 2 +- .github/workflows/ci.yml | 8 ++++---- .github/workflows/format-code.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sdk.yml | 2 +- .github/workflows/test-build-android.yml | 2 +- .github/workflows/test-build-ios.yml | 2 +- .github/workflows/test-build-linux.yml | 2 +- .github/workflows/test-build-windows.yml | 2 +- .github/workflows/test-compile-ios.yml | 2 +- .github/workflows/test-create.yml | 2 +- .github/workflows/test-run-ios.yml | 2 +- .github/workflows/update-deps.yml | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2badac041..67f09f751 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef5467619..f41dd46cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@b173b6ec0100793626c2d9e6b90435061f4fc3e5 # pin@0.11.0 + uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 with: access_token: ${{ github.token }} @@ -70,7 +70,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: ref: ${{ github.head_ref || github.ref }} ssh-key: ${{ secrets.CI_DEPLOY_KEY }} @@ -136,7 +136,7 @@ jobs: UNITY_PATH: docker exec unity unity-editor steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 @@ -416,7 +416,7 @@ jobs: needs: [test-build-webgl, test-build-android, test-compile-ios, test-build-linux, test-build-windows] steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Download all build size measurements uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 diff --git a/.github/workflows/format-code.yml b/.github/workflows/format-code.yml index bc87e6230..502cd16fd 100644 --- a/.github/workflows/format-code.yml +++ b/.github/workflows/format-code.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: submodules: recursive diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca398e270..c7b16886c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }} - name: Check out current commit (${{ github.sha }}) - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ steps.token.outputs.token }} fetch-depth: 0 diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index f8e000a80..1cd6f576f 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -19,7 +19,7 @@ jobs: runs-on: ${{ inputs.runsOn }} timeout-minutes: 30 steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Select submodules id: env diff --git a/.github/workflows/test-build-android.yml b/.github/workflows/test-build-android.yml index 6d376a168..aded09c74 100644 --- a/.github/workflows/test-build-android.yml +++ b/.github/workflows/test-build-android.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Docker Login uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 diff --git a/.github/workflows/test-build-ios.yml b/.github/workflows/test-build-ios.yml index 87b4fce7e..6bdad100a 100644 --- a/.github/workflows/test-build-ios.yml +++ b/.github/workflows/test-build-ios.yml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Docker Login uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 diff --git a/.github/workflows/test-build-linux.yml b/.github/workflows/test-build-linux.yml index dcad313d9..780697c5c 100644 --- a/.github/workflows/test-build-linux.yml +++ b/.github/workflows/test-build-linux.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Free Disk Space uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 541cac537..8237e197d 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Load env id: env diff --git a/.github/workflows/test-compile-ios.yml b/.github/workflows/test-compile-ios.yml index 37a7ae6d6..425470719 100644 --- a/.github/workflows/test-compile-ios.yml +++ b/.github/workflows/test-compile-ios.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Restore cached compiled iOS build without Sentry if: ${{ inputs.init-type == 'runtime' }} diff --git a/.github/workflows/test-create.yml b/.github/workflows/test-create.yml index f4fbaa87d..557654c3b 100644 --- a/.github/workflows/test-create.yml +++ b/.github/workflows/test-create.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Docker Login uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 diff --git a/.github/workflows/test-run-ios.yml b/.github/workflows/test-run-ios.yml index 6cc17a087..22cb58609 100644 --- a/.github/workflows/test-run-ios.yml +++ b/.github/workflows/test-run-ios.yml @@ -38,7 +38,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Initialize app-runner submodule run: git submodule update --init modules/app-runner diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml index 4075df722..605c9cc31 100644 --- a/.github/workflows/update-deps.yml +++ b/.github/workflows/update-deps.yml @@ -56,7 +56,7 @@ jobs: "version=$($latest.version)" >> $env:GITHUB_OUTPUT "changeset=$($latest.shortRevision)" >> $env:GITHUB_OUTPUT - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: ssh-key: ${{ secrets.CI_DEPLOY_KEY }} From a1510439e40c90c3158e93fc609ba871baeed396 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 6 May 2026 13:43:51 +0200 Subject: [PATCH 02/17] bumped all the things --- .github/workflows/build.yml | 28 ++++++++++------------ .github/workflows/ci.yml | 30 +++++++++++------------- .github/workflows/format-code.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- .github/workflows/sdk.yml | 12 +++++----- .github/workflows/test-build-android.yml | 21 ++++++++--------- .github/workflows/test-build-ios.yml | 21 ++++++++--------- .github/workflows/test-build-linux.yml | 19 +++++++-------- .github/workflows/test-build-windows.yml | 17 +++++++------- .github/workflows/test-compile-ios.yml | 14 +++++------ .github/workflows/test-create.yml | 8 +++---- .github/workflows/test-run-android.yml | 8 +++---- .github/workflows/test-run-desktop.yml | 6 ++--- .github/workflows/test-run-ios.yml | 8 +++---- .github/workflows/test-run-webgl.yml | 6 ++--- .github/workflows/update-deps.yml | 4 ++-- 16 files changed, 100 insertions(+), 110 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 67f09f751..e493c4cc2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 @@ -48,7 +48,7 @@ jobs: UNITY_SCRIPT_ARG: unity${{ env.UNITY_VERSION }} - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/unity-of-bugs/Library key: Library-unity-of-bugs-${{ steps.env.outputs.unityVersion }}-v1 @@ -56,7 +56,7 @@ jobs: Library-unity-of-bugs-${{ steps.env.outputs.unityVersion }}- - name: Docker Login - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ env.GITHUB_ACTOR }} @@ -70,7 +70,7 @@ jobs: - name: Install .NET SDK if: runner.os != 'Windows' - uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5 + uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.0 with: global-json-file: global.json @@ -81,32 +81,28 @@ jobs: run: ./scripts/download-sentry-cli.ps1 - name: Download Android SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: Android-sdk path: package-dev/Plugins/Android - wait-timeout: 3600 - name: Download Cocoa SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: Cocoa-sdk path: package-dev/Plugins - wait-timeout: 3600 - name: Download Linux SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: Linux-sdk path: package-dev/Plugins/Linux - wait-timeout: 3600 - name: Download Windows SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: Windows-sdk path: package-dev/Plugins/Windows - wait-timeout: 3600 - name: Build Sentry.Unity Solution run: docker exec unity dotnet build -c Release -v:d @@ -126,7 +122,7 @@ jobs: ./scripts/pack.ps1 - name: Upload release artifacts - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: package-release if-no-files-found: error @@ -140,7 +136,7 @@ jobs: run: docker exec unity dotnet msbuild /t:UnityEditModeTest /p:Configuration=Release /p:OutDir=other test/Sentry.Unity.Editor.Tests - name: Publish Test Results - uses: dorny/test-reporter@dc3a92680fcc15842eef52e8c4606ea7ce6bd3f3 # v2.1.1 + uses: dorny/test-reporter@a6ddd83ac95ff4586f5d3aceeb314d9a1841db95 # v3.0.0 if: ${{ !cancelled() }} with: name: Unity Test Results - ${{ env.UNITY_VERSION }} @@ -149,13 +145,13 @@ jobs: fail-on-error: false - name: Upload test artifacts (playmode) - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: Test results (playmode) - ${{ env.UNITY_VERSION }} path: artifacts/test/playmode - name: Upload test artifacts (editmode) - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: Test results (editmode) - ${{ env.UNITY_VERSION }} path: artifacts/test/editmode diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f41dd46cc..6daf6941c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 + uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1 with: access_token: ${{ github.token }} @@ -70,16 +70,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.head_ref || github.ref }} ssh-key: ${{ secrets.CI_DEPLOY_KEY }} - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Check snapshot id: snapshot-check @@ -136,7 +135,7 @@ jobs: UNITY_PATH: docker exec unity unity-editor steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 @@ -149,7 +148,7 @@ jobs: swap-storage: true - name: Docker Login - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -166,7 +165,7 @@ jobs: UNITY_LICENSE_SERVER_CONFIG: ${{ secrets.UNITY_LICENSE_SERVER_CONFIG }} - name: Download IntegrationTest project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: test-${{ matrix.unity-version }} @@ -174,7 +173,7 @@ jobs: run: tar -xvzf test-project.tar.gz - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Library key: Library-IntegrationTest-${{ matrix.platform }}-${{ matrix.unity-version }}-v1 @@ -184,7 +183,7 @@ jobs: - name: Restore cached build without Sentry id: cache-build-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Build-NoSentry key: build-nosentry-${{ matrix.build_platform }}-${{ matrix.unity-version }} @@ -196,10 +195,9 @@ jobs: BUILD_PLATFORM: ${{ matrix.build_platform }} - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 @@ -226,7 +224,7 @@ jobs: UNITY_VERSION: ${{ matrix.unity-version }} - name: Upload build size measurement - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: build-size-${{ matrix.platform }}-${{ matrix.unity-version }} path: build-size-measurements/*.json @@ -241,7 +239,7 @@ jobs: tar -cvzf test-app-webgl.tar.gz samples/IntegrationTest/Build - name: Upload test app - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-webgl-compiled-${{ matrix.unity-version }} if-no-files-found: error @@ -250,7 +248,7 @@ jobs: - name: Upload IntegrationTest project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-${{ matrix.platform }}-${{ matrix.unity-version }} path: | @@ -416,10 +414,10 @@ jobs: needs: [test-build-webgl, test-build-android, test-compile-ios, test-build-linux, test-build-windows] steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download all build size measurements - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: pattern: build-size-* path: build-size-measurements diff --git a/.github/workflows/format-code.yml b/.github/workflows/format-code.yml index 502cd16fd..6be001e9b 100644 --- a/.github/workflows/format-code.yml +++ b/.github/workflows/format-code.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: recursive @@ -22,7 +22,7 @@ jobs: | xargs clang-format -i -style=file - name: Install .NET SDK - uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5 + uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.0 with: global-json-file: global.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c7b16886c..f37c48d98 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,13 +23,13 @@ jobs: steps: - name: Get auth token id: token - uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0 + uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1 with: app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }} private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }} - name: Check out current commit (${{ github.sha }}) - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: token: ${{ steps.token.outputs.token }} fetch-depth: 0 diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 1cd6f576f..d96c7eb66 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -19,7 +19,7 @@ jobs: runs-on: ${{ inputs.runsOn }} timeout-minutes: 30 steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Select submodules id: env @@ -54,7 +54,7 @@ jobs: shell: bash - name: Restore from cache - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 id: cache with: # Note: native SDKs are cached and only built if the respective 'package-dev/Plugins/' directories are empty. @@ -78,7 +78,7 @@ jobs: - name: Install .NET SDK if: ${{ steps.cache.outputs.cache-hit != 'true' }} - uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5 + uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.0 with: global-json-file: global.json @@ -92,7 +92,7 @@ jobs: - name: Upload build logs on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: path: | ${{ steps.env.outputs.submodulesPath }}/build.log @@ -100,7 +100,7 @@ jobs: # Lower retention period - we only need this to retry CI. retention-days: 14 - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if: ${{ env.TARGET == 'Cocoa' }} with: name: ${{ env.TARGET }}-sdk @@ -110,7 +110,7 @@ jobs: # Lower retention period - we only need this to retry CI. retention-days: 14 - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if: ${{ env.TARGET != 'Cocoa' }} with: name: ${{ env.TARGET }}-sdk diff --git a/.github/workflows/test-build-android.yml b/.github/workflows/test-build-android.yml index aded09c74..73a883853 100644 --- a/.github/workflows/test-build-android.yml +++ b/.github/workflows/test-build-android.yml @@ -21,10 +21,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Docker Login - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ env.GITHUB_ACTOR }} @@ -38,7 +38,7 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - name: Download IntegrationTest project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: test-${{ env.UNITY_VERSION }} @@ -46,7 +46,7 @@ jobs: run: tar -xvzf test-project.tar.gz - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Library key: Library-IntegrationTest-Android-${{ env.UNITY_VERSION }}-v1 @@ -56,7 +56,7 @@ jobs: - name: Restore cached build without Sentry id: cache-build-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Build-NoSentry key: build-nosentry-Android-${{ inputs.unity-version }} @@ -66,10 +66,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform "Android" -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 @@ -89,14 +88,14 @@ jobs: run: ./test/Scripts.Integration.Test/measure-build-size.ps1 -Path1 "samples/IntegrationTest/Build-NoSentry" -Path2 "samples/IntegrationTest/Build" -Platform "Android" -UnityVersion "$env:UNITY_VERSION" - name: Upload build size measurement - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: build-size-Android-${{ env.UNITY_VERSION }} path: build-size-measurements/*.json retention-days: 1 - name: Upload .apk - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-android-compiled-${{ env.UNITY_VERSION }}-runtime path: samples/IntegrationTest/Build/*.apk # Collect app but ignore the files that are not required for the test. @@ -113,7 +112,7 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform "Android" -UnityVersion "$env:UNITY_VERSION" - name: Upload .apk - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-android-compiled-${{ env.UNITY_VERSION }}-buildtime path: samples/IntegrationTest/Build/*.apk @@ -121,7 +120,7 @@ jobs: - name: Upload IntegrationTest project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-android-${{ env.UNITY_VERSION }} path: | diff --git a/.github/workflows/test-build-ios.yml b/.github/workflows/test-build-ios.yml index 6bdad100a..bed463822 100644 --- a/.github/workflows/test-build-ios.yml +++ b/.github/workflows/test-build-ios.yml @@ -27,10 +27,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Docker Login - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ env.GITHUB_ACTOR }} @@ -44,7 +44,7 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - name: Download IntegrationTest project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: test-${{ env.UNITY_VERSION }} @@ -52,7 +52,7 @@ jobs: run: tar -xvzf test-project.tar.gz - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Library key: Library-IntegrationTest-iOS-${{ env.UNITY_VERSION }}-v1 @@ -62,7 +62,7 @@ jobs: - name: Restore cached build without Sentry id: cache-build-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Build-NoSentry key: build-nosentry-iOS-${{ inputs.unity-version }} @@ -78,17 +78,16 @@ jobs: tar -cvzf test-app-no-sentry.tar.gz samples/IntegrationTest/Build-NoSentry - name: Upload build without Sentry - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-ios-no-sentry-${{ env.UNITY_VERSION }} path: test-app-no-sentry.tar.gz retention-days: 1 - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 @@ -117,7 +116,7 @@ jobs: # Upload runtime initialization build - name: Upload test app (runtime initialization) - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-ios-${{ env.UNITY_VERSION }}-runtime if-no-files-found: error @@ -144,7 +143,7 @@ jobs: # Upload build-time initialization build - name: Upload test app (build-time initialization) - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-ios-${{ env.UNITY_VERSION }}-buildtime if-no-files-found: error @@ -153,7 +152,7 @@ jobs: - name: Upload IntegrationTest project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-ios-${{ env.UNITY_VERSION }} path: | diff --git a/.github/workflows/test-build-linux.yml b/.github/workflows/test-build-linux.yml index 780697c5c..6847b5dc4 100644 --- a/.github/workflows/test-build-linux.yml +++ b/.github/workflows/test-build-linux.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Free Disk Space uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8 # v1.3.0 @@ -35,7 +35,7 @@ jobs: swap-storage: true - name: Log into Docker - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ env.GITHUB_ACTOR }} @@ -49,7 +49,7 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - name: Download IntegrationTest project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: test-${{ env.UNITY_VERSION }} @@ -57,7 +57,7 @@ jobs: run: tar -xvzf test-project.tar.gz - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Library key: Library-IntegrationTest-linux-${{ env.UNITY_VERSION }}-v1 @@ -67,7 +67,7 @@ jobs: - name: Restore cached build without Sentry id: cache-build-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Build-NoSentry key: build-nosentry-Linux-${{ inputs.unity-version }} @@ -77,10 +77,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Linux -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 @@ -100,7 +99,7 @@ jobs: run: ./test/Scripts.Integration.Test/measure-build-size.ps1 -Path1 "samples/IntegrationTest/Build-NoSentry" -Path2 "samples/IntegrationTest/Build" -Platform Linux -UnityVersion "$env:UNITY_VERSION" - name: Upload build size measurement - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: build-size-Linux-${{ env.UNITY_VERSION }} path: build-size-measurements/*.json @@ -113,7 +112,7 @@ jobs: tar -cvzf test-app-desktop.tar.gz samples/IntegrationTest/Build - name: Upload test app - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-desktop-compiled-${{ env.UNITY_VERSION }}-linux if-no-files-found: error @@ -135,7 +134,7 @@ jobs: - name: Upload IntegrationTest project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-desktop-linux-${{ env.UNITY_VERSION }} path: | diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 8237e197d..524401b18 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Load env id: env @@ -40,7 +40,7 @@ jobs: UNITY_LICENSE_SERVER_CONFIG: ${{ secrets.UNITY_LICENSE_SERVER_CONFIG }} - name: Download IntegrationTest project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: test-${{ env.UNITY_VERSION }} @@ -48,7 +48,7 @@ jobs: run: tar -xvzf test-project.tar.gz - name: Cache Unity Library - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Library key: Library-IntegrationTest-windows-${{ env.UNITY_VERSION }}-v1 @@ -58,7 +58,7 @@ jobs: - name: Restore cached build without Sentry id: cache-build-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest/Build-NoSentry key: build-nosentry-Windows-${{ inputs.unity-version }} @@ -68,10 +68,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Windows -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 @@ -91,7 +90,7 @@ jobs: run: ./test/Scripts.Integration.Test/measure-build-size.ps1 -Path1 "samples/IntegrationTest/Build-NoSentry" -Path2 "samples/IntegrationTest/Build" -Platform Windows -UnityVersion "$env:UNITY_VERSION" - name: Upload build size measurement - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: build-size-Windows-${{ env.UNITY_VERSION }} path: build-size-measurements/*.json @@ -104,7 +103,7 @@ jobs: tar -cvzf test-app-desktop.tar.gz samples/IntegrationTest/Build - name: Upload test app - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-desktop-compiled-${{ env.UNITY_VERSION }}-windows if-no-files-found: error @@ -113,7 +112,7 @@ jobs: - name: Upload IntegrationTest project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-desktop-windows-${{ env.UNITY_VERSION }} path: | diff --git a/.github/workflows/test-compile-ios.yml b/.github/workflows/test-compile-ios.yml index 425470719..32c4bf5ca 100644 --- a/.github/workflows/test-compile-ios.yml +++ b/.github/workflows/test-compile-ios.yml @@ -23,19 +23,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore cached compiled iOS build without Sentry if: ${{ inputs.init-type == 'runtime' }} id: cache-compiled-nosentry - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: IntegrationTest-NoSentry.app key: build-nosentry-iOS-compiled-${{ inputs.unity-version }} - name: Download build without Sentry (for size comparison) if: ${{ inputs.init-type == 'runtime' && steps.cache-compiled-nosentry.outputs.cache-hit != 'true' }} - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-ios-no-sentry-${{ env.UNITY_VERSION }} @@ -58,7 +58,7 @@ jobs: Remove-Item -Path "samples/IntegrationTest/Build" -Recurse -Force - name: Download app project - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-ios-${{ env.UNITY_VERSION }}-${{ env.INIT_TYPE }} @@ -71,7 +71,7 @@ jobs: - name: Upload integration-test project on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: failed-project-ios-${{ env.UNITY_VERSION }}-${{ env.INIT_TYPE }}-compiled path: | @@ -85,7 +85,7 @@ jobs: Get-ChildItem -Path "samples/IntegrationTest/Build" -Recurse - name: Upload app - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-ios-compiled-${{ env.UNITY_VERSION }}-${{ env.INIT_TYPE }} # Collect app but ignore the files that are not required for the test. @@ -107,7 +107,7 @@ jobs: - name: Upload build size measurement if: ${{ inputs.init-type == 'runtime' }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: build-size-iOS-${{ env.UNITY_VERSION }} path: build-size-measurements/*.json diff --git a/.github/workflows/test-create.yml b/.github/workflows/test-create.yml index 557654c3b..fe92c2195 100644 --- a/.github/workflows/test-create.yml +++ b/.github/workflows/test-create.yml @@ -21,10 +21,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Docker Login - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # pinned v3 + uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0 with: registry: ghcr.io username: ${{ env.GITHUB_ACTOR }} @@ -32,7 +32,7 @@ jobs: - name: Cache IntegrationTest Project id: cache-project - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: samples/IntegrationTest key: IntegrationTest-Project-${{ env.UNITY_VERSION }}-${{ hashFiles('test/Scripts.Integration.Test/**') }}-v1 @@ -55,7 +55,7 @@ jobs: run: tar -cvzf test-project.tar.gz samples/IntegrationTest - name: Upload project - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: test-${{ env.UNITY_VERSION }} if-no-files-found: error diff --git a/.github/workflows/test-run-android.yml b/.github/workflows/test-run-android.yml index 63b19ae42..49cc1ef84 100644 --- a/.github/workflows/test-run-android.yml +++ b/.github/workflows/test-run-android.yml @@ -36,14 +36,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize app-runner submodule run: git submodule update --init modules/app-runner shell: bash - name: Download test app artifact - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-android-compiled-${{ inputs.unity-version }}-${{ inputs.init-type }} path: samples/IntegrationTest/Build @@ -70,7 +70,7 @@ jobs: shell: bash - name: Run Android Integration Tests - uses: reactivecircus/android-emulator-runner@d94c3fbe4fe6a29e4a5ba47c12fb47677c73656b # pin@v2.33.0 + uses: reactivecircus/android-emulator-runner@0a638108440efd5c7f980e6ba145dbcdd8f32009 # v2.37.0 id: integration-test timeout-minutes: 30 with: @@ -99,7 +99,7 @@ jobs: - name: Upload test results on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-android-logs-${{ inputs.api-level }}-${{ inputs.unity-version }} path: | diff --git a/.github/workflows/test-run-desktop.yml b/.github/workflows/test-run-desktop.yml index 7573bd83c..073232604 100644 --- a/.github/workflows/test-run-desktop.yml +++ b/.github/workflows/test-run-desktop.yml @@ -24,14 +24,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize app-runner submodule run: git submodule update --init modules/app-runner shell: bash - name: Download test app artifact - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-desktop-compiled-${{ inputs.unity-version }}-${{ inputs.platform }} @@ -63,7 +63,7 @@ jobs: - name: Upload test results on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-desktop-logs-${{ inputs.platform }}-${{ inputs.unity-version }} path: | diff --git a/.github/workflows/test-run-ios.yml b/.github/workflows/test-run-ios.yml index 22cb58609..d54fc9061 100644 --- a/.github/workflows/test-run-ios.yml +++ b/.github/workflows/test-run-ios.yml @@ -38,14 +38,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize app-runner submodule run: git submodule update --init modules/app-runner shell: bash - name: Download app artifact - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-ios-compiled-${{ env.UNITY_VERSION }}-${{ env.INIT_TYPE }} path: samples/IntegrationTest/Build @@ -56,7 +56,7 @@ jobs: - name: Set Xcode for iOS version ${{ env.IOS_VERSION }} if: ${{ env.IOS_VERSION != 'latest'}} - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # pin@v1.6 + uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0 with: xcode-version: '15.0' # to run iOS 17.0 we need Xcode 15.0 @@ -73,7 +73,7 @@ jobs: - name: Upload test results on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-ios-logs-${{ env.IOS_VERSION }}-${{ env.UNITY_VERSION }}-${{ env.INIT_TYPE }} path: | diff --git a/.github/workflows/test-run-webgl.yml b/.github/workflows/test-run-webgl.yml index 49184f2f7..2c9eb715e 100644 --- a/.github/workflows/test-run-webgl.yml +++ b/.github/workflows/test-run-webgl.yml @@ -20,14 +20,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Initialize app-runner submodule run: git submodule update --init modules/app-runner shell: bash - name: Download test app artifact - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: testapp-webgl-compiled-${{ inputs.unity-version }} @@ -47,7 +47,7 @@ jobs: - name: Upload test results on failure if: ${{ failure() }} - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: testapp-webgl-logs-${{ inputs.unity-version }} path: | diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml index 605c9cc31..c5d40ffaa 100644 --- a/.github/workflows/update-deps.yml +++ b/.github/workflows/update-deps.yml @@ -56,7 +56,7 @@ jobs: "version=$($latest.version)" >> $env:GITHUB_OUTPUT "changeset=$($latest.shortRevision)" >> $env:GITHUB_OUTPUT - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ssh-key: ${{ secrets.CI_DEPLOY_KEY }} @@ -70,7 +70,7 @@ jobs: - run: git --no-pager diff - name: Create PR - uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # pin#v7.0.5 + uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 with: branch: chore/unity-${{ steps.version-select.outputs.version }} commit-message: 'chore: update to Unity ${{ steps.version-select.outputs.version }}' From 60f16dfe08478590925c63c2ad68eb70cc8da6bf Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 6 May 2026 16:14:02 +0200 Subject: [PATCH 03/17] keep the timeout download --- .github/workflows/build.yml | 12 ++++++++---- .github/workflows/ci.yml | 6 ++++-- .github/workflows/test-build-android.yml | 3 ++- .github/workflows/test-build-ios.yml | 5 +++-- .github/workflows/test-build-linux.yml | 3 ++- .github/workflows/test-build-windows.yml | 3 ++- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e493c4cc2..e690ac3b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,28 +81,32 @@ jobs: run: ./scripts/download-sentry-cli.ps1 - name: Download Android SDK - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: Android-sdk path: package-dev/Plugins/Android + wait-timeout: 3600 - name: Download Cocoa SDK - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: Cocoa-sdk path: package-dev/Plugins + wait-timeout: 3600 - name: Download Linux SDK - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: Linux-sdk path: package-dev/Plugins/Linux + wait-timeout: 3600 - name: Download Windows SDK - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: Windows-sdk path: package-dev/Plugins/Windows + wait-timeout: 3600 - name: Build Sentry.Unity Solution run: docker exec unity dotnet build -c Release -v:d diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6daf6941c..9f0b68873 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,9 +76,10 @@ jobs: ssh-key: ${{ secrets.CI_DEPLOY_KEY }} - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Check snapshot id: snapshot-check @@ -195,9 +196,10 @@ jobs: BUILD_PLATFORM: ${{ matrix.build_platform }} - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-android.yml b/.github/workflows/test-build-android.yml index 73a883853..c69c894a4 100644 --- a/.github/workflows/test-build-android.yml +++ b/.github/workflows/test-build-android.yml @@ -66,9 +66,10 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform "Android" -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-ios.yml b/.github/workflows/test-build-ios.yml index bed463822..f35b6f06c 100644 --- a/.github/workflows/test-build-ios.yml +++ b/.github/workflows/test-build-ios.yml @@ -5,7 +5,7 @@ on: unity-version: required: true type: string - + defaults: run: shell: pwsh @@ -85,9 +85,10 @@ jobs: retention-days: 1 - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-linux.yml b/.github/workflows/test-build-linux.yml index 6847b5dc4..83d54116f 100644 --- a/.github/workflows/test-build-linux.yml +++ b/.github/workflows/test-build-linux.yml @@ -77,9 +77,10 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Linux -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 524401b18..6ae965eff 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -68,9 +68,10 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Windows -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout with: name: package-release + wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 From 89c9a5b15dfe8a73bd66f39203064bf84ee25154 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 6 May 2026 16:57:37 +0200 Subject: [PATCH 04/17] wait-for-artifact --- .github/actions/wait-for-artifact/action.yml | 33 ++++++++++++++++++++ .github/workflows/build.yml | 12 +++---- .github/workflows/ci.yml | 6 ++-- .github/workflows/test-build-android.yml | 3 +- .github/workflows/test-build-ios.yml | 3 +- .github/workflows/test-build-linux.yml | 3 +- .github/workflows/test-build-windows.yml | 3 +- 7 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 .github/actions/wait-for-artifact/action.yml diff --git a/.github/actions/wait-for-artifact/action.yml b/.github/actions/wait-for-artifact/action.yml new file mode 100644 index 000000000..bb5028c72 --- /dev/null +++ b/.github/actions/wait-for-artifact/action.yml @@ -0,0 +1,33 @@ +name: 'Wait for and download artifact' +description: 'Polls the run''s artifacts API until the named artifact appears, then downloads it.' +inputs: + name: + description: 'Artifact name' + required: true + path: + description: 'Destination path for the artifact contents' + required: false + +runs: + using: composite + steps: + - name: Wait for ${{ inputs.name }} + env: + GH_TOKEN: ${{ github.token }} + NAME: ${{ inputs.name }} + shell: bash + run: | + for _ in $(seq 1 120); do + count=$(gh api "/repos/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID/artifacts?name=$NAME" --jq .total_count) + if [[ "$count" -gt 0 ]]; then + exit 0 + fi + sleep 30 + done + echo "Timed out after 60 minutes waiting for artifact: $NAME" >&2 + exit 1 + + - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + with: + name: ${{ inputs.name }} + path: ${{ inputs.path }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e690ac3b1..63f56fd1a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,32 +81,28 @@ jobs: run: ./scripts/download-sentry-cli.ps1 - name: Download Android SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: Android-sdk path: package-dev/Plugins/Android - wait-timeout: 3600 - name: Download Cocoa SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: Cocoa-sdk path: package-dev/Plugins - wait-timeout: 3600 - name: Download Linux SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: Linux-sdk path: package-dev/Plugins/Linux - wait-timeout: 3600 - name: Download Windows SDK - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: Windows-sdk path: package-dev/Plugins/Windows - wait-timeout: 3600 - name: Build Sentry.Unity Solution run: docker exec unity dotnet build -c Release -v:d diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f0b68873..24dee6868 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,10 +76,9 @@ jobs: ssh-key: ${{ secrets.CI_DEPLOY_KEY }} - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Check snapshot id: snapshot-check @@ -196,10 +195,9 @@ jobs: BUILD_PLATFORM: ${{ matrix.build_platform }} - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-android.yml b/.github/workflows/test-build-android.yml index c69c894a4..c913c13b2 100644 --- a/.github/workflows/test-build-android.yml +++ b/.github/workflows/test-build-android.yml @@ -66,10 +66,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform "Android" -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-ios.yml b/.github/workflows/test-build-ios.yml index f35b6f06c..a0f879663 100644 --- a/.github/workflows/test-build-ios.yml +++ b/.github/workflows/test-build-ios.yml @@ -85,10 +85,9 @@ jobs: retention-days: 1 - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-linux.yml b/.github/workflows/test-build-linux.yml index 83d54116f..2ceef6cd1 100644 --- a/.github/workflows/test-build-linux.yml +++ b/.github/workflows/test-build-linux.yml @@ -77,10 +77,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Linux -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 6ae965eff..62a954194 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -68,10 +68,9 @@ jobs: run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform Windows -BuildDirName "Build-NoSentry" - name: Download UPM package - uses: vaind/download-artifact@e7141b6a94ef28aa3d828b52830cfa1f406a1848 # v4-with-wait-timeout + uses: ./.github/actions/wait-for-artifact with: name: package-release - wait-timeout: 3600 - name: Extract UPM package run: ./test/Scripts.Integration.Test/extract-package.ps1 From 964c00659c7c3efdfd36fb11e727a7ac198d99a9 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Thu, 7 May 2026 11:36:29 +0200 Subject: [PATCH 05/17] bumped wait-for action too --- .github/actions/wait-for-artifact/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/wait-for-artifact/action.yml b/.github/actions/wait-for-artifact/action.yml index bb5028c72..e386aeeba 100644 --- a/.github/actions/wait-for-artifact/action.yml +++ b/.github/actions/wait-for-artifact/action.yml @@ -27,7 +27,7 @@ runs: echo "Timed out after 60 minutes waiting for artifact: $NAME" >&2 exit 1 - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: ${{ inputs.name }} path: ${{ inputs.path }} From 977760a88e28139b6396c4897444268ccf06b419 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Fri, 8 May 2026 10:52:56 +0200 Subject: [PATCH 06/17] pwsh boiii --- .github/actions/wait-for-artifact/action.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/actions/wait-for-artifact/action.yml b/.github/actions/wait-for-artifact/action.yml index e386aeeba..ce406531e 100644 --- a/.github/actions/wait-for-artifact/action.yml +++ b/.github/actions/wait-for-artifact/action.yml @@ -15,16 +15,16 @@ runs: env: GH_TOKEN: ${{ github.token }} NAME: ${{ inputs.name }} - shell: bash + shell: pwsh run: | - for _ in $(seq 1 120); do - count=$(gh api "/repos/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID/artifacts?name=$NAME" --jq .total_count) - if [[ "$count" -gt 0 ]]; then + for ($i = 0; $i -lt 120; $i++) { + $count = gh api "/repos/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID/artifacts?name=$env:NAME" --jq .total_count + if ([int]$count -gt 0) { exit 0 - fi - sleep 30 - done - echo "Timed out after 60 minutes waiting for artifact: $NAME" >&2 + } + Start-Sleep -Seconds 30 + } + Write-Error "Timed out after 60 minutes waiting for artifact: $env:NAME" exit 1 - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 From ca719ee765e716a4ab87fe6ec8cbdb096b7019f9 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Fri, 8 May 2026 13:59:30 +0200 Subject: [PATCH 07/17] use the stripped down version of setup-unity --- .github/workflows/test-build-windows.yml | 7 +++++-- .github/workflows/update-deps.yml | 9 +++++++-- scripts/ci-env.ps1 | 24 +++++++++--------------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 62a954194..b5abc776d 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -24,12 +24,15 @@ jobs: - name: Load env id: env - run: echo "unityVersion=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION")" >> $env:GITHUB_OUTPUT + run: | + echo "unityVersion=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION")" >> $env:GITHUB_OUTPUT + echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@3bdc8c022b6d30ecf2d21d12a564bfa55a54fa2e + uses: getsentry/setup-unity@6c6b7257325c702ec93ac570a6213fd18202f038 with: unity-version: ${{ steps.env.outputs.unityVersion }} + unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} unity-modules: windows-il2cpp - name: Create Unity license config diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml index c5d40ffaa..470748939 100644 --- a/.github/workflows/update-deps.yml +++ b/.github/workflows/update-deps.yml @@ -64,8 +64,13 @@ jobs: run: | $file = "scripts/ci-env.ps1" $regexVersion = '${{ matrix.unity-prefix }}' + "\.[0-9]+[a-z][0-9]+" - echo "Regex: $regexVersion" - (Get-Content $file) -replace $regexVersion, '${{ steps.version-select.outputs.version }}' | Out-File $file + $regexChangeset = '("unity${{ matrix.unity-prefix }}-changeset"\s*\{\s*return\s*")[a-f0-9]+(")' + echo "Version regex: $regexVersion" + echo "Changeset regex: $regexChangeset" + (Get-Content $file) ` + -replace $regexVersion, '${{ steps.version-select.outputs.version }}' ` + -replace $regexChangeset, '${1}${{ steps.version-select.outputs.changeset }}${2}' ` + | Out-File $file - run: git --no-pager diff diff --git a/scripts/ci-env.ps1 b/scripts/ci-env.ps1 index 298092a58..184cf889b 100644 --- a/scripts/ci-env.ps1 +++ b/scripts/ci-env.ps1 @@ -4,19 +4,13 @@ param ( ) switch ($name) { - "unity2021.3" { - return "2021.3.45f2" - } - "unity2022.3" { - return "2022.3.62f3" - } - "unity6000.0" { - return "6000.0.74f1" - } - "unity6000.3" { - return "6000.3.14f1" - } - Default { - throw "Unkown variable '$name'" - } + "unity2021.3" { return "2021.3.45f2" } + "unity2021.3-changeset" { return "88f88f591b2e" } + "unity2022.3" { return "2022.3.62f3" } + "unity2022.3-changeset" { return "96770f904ca7" } + "unity6000.0" { return "6000.0.74f1" } + "unity6000.0-changeset" { return "7685f01dc6be" } + "unity6000.3" { return "6000.3.14f1" } + "unity6000.3-changeset" { return "d68c3f99a318" } + Default { throw "Unkown variable '$name'" } } From 659f61a029a8efe38967548fc8ee4ad8cd0ddbe8 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Fri, 8 May 2026 14:37:51 +0200 Subject: [PATCH 08/17] go again. but fast --- .github/workflows/ci.yml | 20 ++++++++++---------- .github/workflows/test-build-windows.yml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24dee6868..f280fe873 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -120,7 +120,7 @@ jobs: # A Linux, docker-based build to prepare a WebGL player. The tests run in `test-run-webgl`. test-build-webgl: name: Build ${{ matrix.platform }} ${{ matrix.unity-version }} Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-create, create-unity-matrix] runs-on: ubuntu-latest strategy: @@ -259,7 +259,7 @@ jobs: test-build-android: name: Build Android ${{ matrix.unity-version }} Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -271,7 +271,7 @@ jobs: test-run-android: name: Run Android ${{ matrix.unity-version }} Integration Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-build-android, create-unity-matrix] secrets: inherit uses: ./.github/workflows/test-run-android.yml @@ -289,7 +289,7 @@ jobs: test-build-ios: name: Build iOS ${{ matrix.unity-version }} Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -301,7 +301,7 @@ jobs: test-compile-ios: name: Compile iOS ${{ matrix.unity-version }} Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-build-ios, create-unity-matrix] secrets: inherit strategy: @@ -316,7 +316,7 @@ jobs: test-run-ios: name: Run iOS ${{ matrix.unity-version }} Integration Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-compile-ios, create-unity-matrix] uses: ./.github/workflows/test-run-ios.yml with: @@ -342,7 +342,7 @@ jobs: test-run-webgl: name: Run WebGL ${{ matrix.unity-version }} Integration Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-build-webgl, create-unity-matrix] secrets: inherit strategy: @@ -355,7 +355,7 @@ jobs: test-build-linux: name: Build Linux ${{ matrix.unity-version }} Integration Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -381,7 +381,7 @@ jobs: test-run-linux: name: Run Linux ${{ matrix.unity-version }} Integration Test - if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + if: false # Temporarily disabled to speed up CI; only Windows integration tests run. needs: [test-build-linux, create-unity-matrix] secrets: inherit strategy: @@ -411,7 +411,7 @@ jobs: name: Build Size runs-on: ubuntu-latest if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} - needs: [test-build-webgl, test-build-android, test-compile-ios, test-build-linux, test-build-windows] + needs: [test-build-windows] steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index b5abc776d..6183b4080 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@6c6b7257325c702ec93ac570a6213fd18202f038 + uses: getsentry/setup-unity@4067cb83df4caad4e6c47cba86712fa827bc7dc6 with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} From 9c3110c43f321706d53e14e560688a643f9d9d4c Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Fri, 8 May 2026 15:06:46 +0200 Subject: [PATCH 09/17] bumped --- .github/workflows/test-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 6183b4080..3d2d75f5e 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@4067cb83df4caad4e6c47cba86712fa827bc7dc6 + uses: getsentry/setup-unity@462149992aab8f7dc705c6939d7d50a93fd08a36 with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} From 613093f80a866f3772ab494397b746b97a56daaa Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Mon, 11 May 2026 12:03:02 +0200 Subject: [PATCH 10/17] permissions tweak --- .github/workflows/build.yml | 2 +- .github/workflows/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63f56fd1a..05e8ba325 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,8 +21,8 @@ jobs: name: Build - ${{ inputs.unity-version }} runs-on: ubuntu-22.04 permissions: + actions: read checks: write - statuses: write contents: read steps: - name: Checkout diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24dee6868..2a9357fc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,8 +53,8 @@ jobs: name: Build Unity SDK secrets: inherit permissions: + actions: read checks: write - statuses: write contents: read strategy: fail-fast: false From 0da2438d669f194555d8b452e56a1c4af52bcc98 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Mon, 11 May 2026 12:13:50 +0200 Subject: [PATCH 11/17] run macOS build --- .github/workflows/ci.yml | 15 ++- .github/workflows/test-build-macos.yml | 125 +++++++++++++++++++++++ .github/workflows/test-build-windows.yml | 2 +- 3 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test-build-macos.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66a42df23..4c8b0e5bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -379,6 +379,19 @@ jobs: with: unity-version: ${{ matrix.unity-version }} + test-build-macos: + name: Build macOS ${{ matrix.unity-version }} Integration Test + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + needs: [test-create, create-unity-matrix] + secrets: inherit + strategy: + fail-fast: false + matrix: + unity-version: ${{ fromJSON(needs.create-unity-matrix.outputs.unity-matrix).unity-version }} + uses: ./.github/workflows/test-build-macos.yml + with: + unity-version: ${{ matrix.unity-version }} + test-run-linux: name: Run Linux ${{ matrix.unity-version }} Integration Test if: false # Temporarily disabled to speed up CI; only Windows integration tests run. @@ -411,7 +424,7 @@ jobs: name: Build Size runs-on: ubuntu-latest if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} - needs: [test-build-windows] + needs: [test-build-windows, test-build-macos] steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.github/workflows/test-build-macos.yml b/.github/workflows/test-build-macos.yml new file mode 100644 index 000000000..e182b7379 --- /dev/null +++ b/.github/workflows/test-build-macos.yml @@ -0,0 +1,125 @@ +name: "Test: Build macOS" +on: + workflow_call: + inputs: + unity-version: + required: true + type: string + +defaults: + run: + shell: pwsh + +jobs: + build: + name: macOS ${{ inputs.unity-version }} + runs-on: macos-latest + env: + UNITY_VERSION: ${{ inputs.unity-version }} + BUILD_PLATFORM: MacOS + + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Load env + id: env + run: | + echo "unityVersion=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION")" >> $env:GITHUB_OUTPUT + echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT + + - name: Setup Unity + uses: getsentry/setup-unity@b775c98d759a78eb50166ed41457fc640d122a72 + with: + unity-version: ${{ steps.env.outputs.unityVersion }} + unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} + unity-modules: mac-il2cpp + + - name: Create Unity license config + run: | + sudo mkdir -p "/Library/Application Support/Unity/config" + echo "$env:UNITY_LICENSE_SERVER_CONFIG" | sudo tee "/Library/Application Support/Unity/config/services-config.json" > /dev/null + env: + UNITY_LICENSE_SERVER_CONFIG: ${{ secrets.UNITY_LICENSE_SERVER_CONFIG }} + + - name: Download IntegrationTest project + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: test-${{ env.UNITY_VERSION }} + + - name: Extract project archive + run: tar -xvzf test-project.tar.gz + + - name: Cache Unity Library + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: samples/IntegrationTest/Library + key: Library-IntegrationTest-macos-${{ env.UNITY_VERSION }}-v1 + restore-keys: | + Library-IntegrationTest-macos-${{ env.UNITY_VERSION }}- + Library-IntegrationTest-macos- + + - name: Restore cached build without Sentry + id: cache-build-nosentry + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: samples/IntegrationTest/Build-NoSentry + key: build-nosentry-MacOS-${{ inputs.unity-version }} + + - name: Build without Sentry SDK + if: steps.cache-build-nosentry.outputs.cache-hit != 'true' + run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform MacOS -BuildDirName "Build-NoSentry" + + - name: Download UPM package + uses: ./.github/actions/wait-for-artifact + with: + name: package-release + + - name: Extract UPM package + run: ./test/Scripts.Integration.Test/extract-package.ps1 + + - name: Add Sentry to the project + run: ./test/Scripts.Integration.Test/add-sentry.ps1 -UnityPath "$env:UNITY_PATH" -PackagePath "test-package-release" + + - name: Configure Sentry + run: ./test/Scripts.Integration.Test/configure-sentry.ps1 -UnityPath "$env:UNITY_PATH" -Platform MacOS + env: + SENTRY_DSN: ${{ secrets.SENTRY_TEST_DSN }} + + - name: Build with Sentry SDK + run: ./test/Scripts.Integration.Test/build-project.ps1 -UnityPath "$env:UNITY_PATH" -Platform MacOS -UnityVersion "$env:UNITY_VERSION" + + - name: Compare build sizes + run: ./test/Scripts.Integration.Test/measure-build-size.ps1 -Path1 "samples/IntegrationTest/Build-NoSentry" -Path2 "samples/IntegrationTest/Build" -Platform MacOS -UnityVersion "$env:UNITY_VERSION" + + - name: Upload build size measurement + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: build-size-MacOS-${{ env.UNITY_VERSION }} + path: build-size-measurements/*.json + retention-days: 1 + + # We create tar explicitly because upload-artifact is slow for many files. + - name: Create archive + run: | + Remove-Item -Recurse -Force samples/IntegrationTest/Build/*_BackUpThisFolder_ButDontShipItWithYourGame -ErrorAction SilentlyContinue + tar -cvzf test-app-desktop.tar.gz samples/IntegrationTest/Build + + - name: Upload test app + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: testapp-desktop-compiled-${{ env.UNITY_VERSION }}-macos + if-no-files-found: error + path: test-app-desktop.tar.gz + retention-days: 14 + + - name: Upload IntegrationTest project on failure + if: ${{ failure() }} + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: failed-project-desktop-macos-${{ env.UNITY_VERSION }} + path: | + samples/IntegrationTest + unity.log + !samples/IntegrationTest/Build/*_BackUpThisFolder_ButDontShipItWithYourGame + retention-days: 14 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 3d2d75f5e..b6b327a91 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@462149992aab8f7dc705c6939d7d50a93fd08a36 + uses: getsentry/setup-unity@b775c98d759a78eb50166ed41457fc640d122a72 with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} From a159fbb7e44e71fb2ae53e3eea743e8595f5a63a Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Mon, 11 May 2026 14:40:51 +0200 Subject: [PATCH 12/17] bump --- .github/workflows/test-build-macos.yml | 2 +- .github/workflows/test-build-windows.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-macos.yml b/.github/workflows/test-build-macos.yml index e182b7379..c8db96e88 100644 --- a/.github/workflows/test-build-macos.yml +++ b/.github/workflows/test-build-macos.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@b775c98d759a78eb50166ed41457fc640d122a72 + uses: getsentry/setup-unity@d91d448a668dffba582d73eef407779924c3debd with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index b6b327a91..3349bd0fe 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@b775c98d759a78eb50166ed41457fc640d122a72 + uses: getsentry/setup-unity@d91d448a668dffba582d73eef407779924c3debd with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} From acbea17f4e57a4f8a05a4d6fa9a3cdf5d5d1d7e0 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Mon, 11 May 2026 15:10:47 +0200 Subject: [PATCH 13/17] actually run the build --- .github/workflows/ci.yml | 14 ++++++++++++++ .github/workflows/test-run-desktop.yml | 17 +++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c8b0e5bd..d1ad6bd92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -420,6 +420,20 @@ jobs: unity-version: ${{ matrix.unity-version }} platform: windows + test-run-macos: + name: Run macOS ${{ matrix.unity-version }} Integration Test + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} + needs: [test-build-macos, create-unity-matrix] + secrets: inherit + strategy: + fail-fast: false + matrix: + unity-version: ${{ fromJSON(needs.create-unity-matrix.outputs.unity-matrix).unity-version }} + uses: ./.github/workflows/test-run-desktop.yml + with: + unity-version: ${{ matrix.unity-version }} + platform: macos + build-size-summary: name: Build Size runs-on: ubuntu-latest diff --git a/.github/workflows/test-run-desktop.yml b/.github/workflows/test-run-desktop.yml index 073232604..edf795ba3 100644 --- a/.github/workflows/test-run-desktop.yml +++ b/.github/workflows/test-run-desktop.yml @@ -8,7 +8,7 @@ on: platform: required: true type: string - description: "linux or windows" + description: "linux, windows, or macos" defaults: run: @@ -17,7 +17,7 @@ defaults: jobs: run: name: ${{ inputs.platform }} ${{ inputs.unity-version }} - runs-on: ${{ inputs.platform == 'linux' && 'ubuntu-latest' || 'windows-latest' }} + runs-on: ${{ inputs.platform == 'linux' && 'ubuntu-latest' || inputs.platform == 'macos' && 'macos-latest' || 'windows-latest' }} env: SENTRY_DSN: ${{ secrets.SENTRY_TEST_DSN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} @@ -43,6 +43,11 @@ jobs: run: chmod +x samples/IntegrationTest/Build/test shell: bash + - name: Set executable permission (macOS) + if: inputs.platform == 'macos' + run: chmod +x samples/IntegrationTest/Build/test.app/Contents/MacOS/test + shell: bash + - name: Run Integration Tests (Linux) if: inputs.platform == 'linux' timeout-minutes: 20 @@ -53,6 +58,14 @@ jobs: Invoke-Pester -Path test/IntegrationTest/Integration.Tests.ps1 -CI' shell: bash + - name: Run Integration Tests (macOS) + if: inputs.platform == 'macos' + timeout-minutes: 20 + run: | + $env:SENTRY_TEST_PLATFORM = "Desktop" + $env:SENTRY_TEST_APP = "samples/IntegrationTest/Build/test.app/Contents/MacOS/test" + Invoke-Pester -Path test/IntegrationTest/Integration.Tests.ps1 -CI + - name: Run Integration Tests (Windows) if: inputs.platform == 'windows' timeout-minutes: 20 From 75e050e13eb46362b168e2d84b576e0c8c891731 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Mon, 11 May 2026 15:28:15 +0200 Subject: [PATCH 14/17] artifact naming is hard --- .github/workflows/test-run-desktop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-run-desktop.yml b/.github/workflows/test-run-desktop.yml index edf795ba3..771c60c0a 100644 --- a/.github/workflows/test-run-desktop.yml +++ b/.github/workflows/test-run-desktop.yml @@ -45,7 +45,7 @@ jobs: - name: Set executable permission (macOS) if: inputs.platform == 'macos' - run: chmod +x samples/IntegrationTest/Build/test.app/Contents/MacOS/test + run: chmod +x samples/IntegrationTest/Build/test.app/Contents/MacOS/IntegrationTest shell: bash - name: Run Integration Tests (Linux) @@ -63,7 +63,7 @@ jobs: timeout-minutes: 20 run: | $env:SENTRY_TEST_PLATFORM = "Desktop" - $env:SENTRY_TEST_APP = "samples/IntegrationTest/Build/test.app/Contents/MacOS/test" + $env:SENTRY_TEST_APP = "samples/IntegrationTest/Build/test.app/Contents/MacOS/IntegrationTest" Invoke-Pester -Path test/IntegrationTest/Integration.Tests.ps1 -CI - name: Run Integration Tests (Windows) From e60504046d1c32fd06792847ca90bb112ac74fed Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 12 May 2026 11:53:58 +0200 Subject: [PATCH 15/17] bump 'setup-unity' to main --- .github/workflows/test-build-macos.yml | 2 +- .github/workflows/test-build-windows.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-macos.yml b/.github/workflows/test-build-macos.yml index c8db96e88..2dd29004e 100644 --- a/.github/workflows/test-build-macos.yml +++ b/.github/workflows/test-build-macos.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@d91d448a668dffba582d73eef407779924c3debd + uses: getsentry/setup-unity@1bbd385ae3b0505069aacc56d47f0a16366f10b1 with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index 3349bd0fe..c9b9f1c99 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -29,7 +29,7 @@ jobs: echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT - name: Setup Unity - uses: getsentry/setup-unity@d91d448a668dffba582d73eef407779924c3debd + uses: getsentry/setup-unity@1bbd385ae3b0505069aacc56d47f0a16366f10b1 with: unity-version: ${{ steps.env.outputs.unityVersion }} unity-version-changeset: ${{ steps.env.outputs.unityChangeset }} From 7d7a535ebff9c0458ef253d0483c3292cfb58a31 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 12 May 2026 11:55:41 +0200 Subject: [PATCH 16/17] reactivate all platform --- .github/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1ad6bd92..0414c8868 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -120,7 +120,7 @@ jobs: # A Linux, docker-based build to prepare a WebGL player. The tests run in `test-run-webgl`. test-build-webgl: name: Build ${{ matrix.platform }} ${{ matrix.unity-version }} Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-create, create-unity-matrix] runs-on: ubuntu-latest strategy: @@ -259,7 +259,7 @@ jobs: test-build-android: name: Build Android ${{ matrix.unity-version }} Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -271,7 +271,7 @@ jobs: test-run-android: name: Run Android ${{ matrix.unity-version }} Integration Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-build-android, create-unity-matrix] secrets: inherit uses: ./.github/workflows/test-run-android.yml @@ -289,7 +289,7 @@ jobs: test-build-ios: name: Build iOS ${{ matrix.unity-version }} Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -301,7 +301,7 @@ jobs: test-compile-ios: name: Compile iOS ${{ matrix.unity-version }} Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-build-ios, create-unity-matrix] secrets: inherit strategy: @@ -316,7 +316,7 @@ jobs: test-run-ios: name: Run iOS ${{ matrix.unity-version }} Integration Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-compile-ios, create-unity-matrix] uses: ./.github/workflows/test-run-ios.yml with: @@ -342,7 +342,7 @@ jobs: test-run-webgl: name: Run WebGL ${{ matrix.unity-version }} Integration Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-build-webgl, create-unity-matrix] secrets: inherit strategy: @@ -355,7 +355,7 @@ jobs: test-build-linux: name: Build Linux ${{ matrix.unity-version }} Integration Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-create, create-unity-matrix] secrets: inherit strategy: @@ -394,7 +394,7 @@ jobs: test-run-linux: name: Run Linux ${{ matrix.unity-version }} Integration Test - if: false # Temporarily disabled to speed up CI; only Windows integration tests run. + if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} needs: [test-build-linux, create-unity-matrix] secrets: inherit strategy: @@ -438,7 +438,7 @@ jobs: name: Build Size runs-on: ubuntu-latest if: ${{ !startsWith(github.ref, 'refs/heads/release/') }} - needs: [test-build-windows, test-build-macos] + needs: [test-build-webgl, test-build-android, test-compile-ios, test-build-linux, test-build-windows, test-build-macos] steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 From 064340194b6d1c3efe0f8519269201fe8df8ebe7 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Tue, 12 May 2026 12:08:06 +0200 Subject: [PATCH 17/17] versions --- .github/workflows/build.yml | 6 +++--- .github/workflows/test-build-macos.yml | 5 +++-- .github/workflows/test-build-windows.yml | 5 +++-- .github/workflows/update-deps.yml | 17 +++++++---------- CLAUDE.md | 8 ++++---- scripts/ci-docker.sh | 2 +- scripts/ci-env.ps1 | 16 ---------------- scripts/unity-versions.json | 18 ++++++++++++++++++ 8 files changed, 39 insertions(+), 38 deletions(-) delete mode 100644 scripts/ci-env.ps1 create mode 100644 scripts/unity-versions.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 05e8ba325..f64c3dc5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,9 +43,9 @@ jobs: - name: Load env id: env - run: echo "unityVersion=$(./scripts/ci-env.ps1 "$env:UNITY_SCRIPT_ARG")" >> $env:GITHUB_OUTPUT - env: - UNITY_SCRIPT_ARG: unity${{ env.UNITY_VERSION }} + run: | + $v = (Get-Content scripts/unity-versions.json -Raw | ConvertFrom-Json).'${{ env.UNITY_VERSION }}'.version + "unityVersion=$v" >> $env:GITHUB_OUTPUT - name: Cache Unity Library uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 diff --git a/.github/workflows/test-build-macos.yml b/.github/workflows/test-build-macos.yml index 2dd29004e..300b9f517 100644 --- a/.github/workflows/test-build-macos.yml +++ b/.github/workflows/test-build-macos.yml @@ -25,8 +25,9 @@ jobs: - name: Load env id: env run: | - echo "unityVersion=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION")" >> $env:GITHUB_OUTPUT - echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT + $u = (Get-Content scripts/unity-versions.json -Raw | ConvertFrom-Json).'${{ env.UNITY_VERSION }}' + "unityVersion=$($u.version)" >> $env:GITHUB_OUTPUT + "unityChangeset=$($u.changeset)" >> $env:GITHUB_OUTPUT - name: Setup Unity uses: getsentry/setup-unity@1bbd385ae3b0505069aacc56d47f0a16366f10b1 diff --git a/.github/workflows/test-build-windows.yml b/.github/workflows/test-build-windows.yml index c9b9f1c99..8a66701f7 100644 --- a/.github/workflows/test-build-windows.yml +++ b/.github/workflows/test-build-windows.yml @@ -25,8 +25,9 @@ jobs: - name: Load env id: env run: | - echo "unityVersion=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION")" >> $env:GITHUB_OUTPUT - echo "unityChangeset=$(./scripts/ci-env.ps1 "unity$env:UNITY_VERSION-changeset")" >> $env:GITHUB_OUTPUT + $u = (Get-Content scripts/unity-versions.json -Raw | ConvertFrom-Json).'${{ env.UNITY_VERSION }}' + "unityVersion=$($u.version)" >> $env:GITHUB_OUTPUT + "unityChangeset=$($u.changeset)" >> $env:GITHUB_OUTPUT - name: Setup Unity uses: getsentry/setup-unity@1bbd385ae3b0505069aacc56d47f0a16366f10b1 diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml index 470748939..5c5c13807 100644 --- a/.github/workflows/update-deps.yml +++ b/.github/workflows/update-deps.yml @@ -60,17 +60,14 @@ jobs: with: ssh-key: ${{ secrets.CI_DEPLOY_KEY }} - - name: Update ci-env.ps1 + - name: Update unity-versions.json run: | - $file = "scripts/ci-env.ps1" - $regexVersion = '${{ matrix.unity-prefix }}' + "\.[0-9]+[a-z][0-9]+" - $regexChangeset = '("unity${{ matrix.unity-prefix }}-changeset"\s*\{\s*return\s*")[a-f0-9]+(")' - echo "Version regex: $regexVersion" - echo "Changeset regex: $regexChangeset" - (Get-Content $file) ` - -replace $regexVersion, '${{ steps.version-select.outputs.version }}' ` - -replace $regexChangeset, '${1}${{ steps.version-select.outputs.changeset }}${2}' ` - | Out-File $file + $file = "scripts/unity-versions.json" + $data = Get-Content $file -Raw | ConvertFrom-Json + $prefix = '${{ matrix.unity-prefix }}' + $data.$prefix.version = '${{ steps.version-select.outputs.version }}' + $data.$prefix.changeset = '${{ steps.version-select.outputs.changeset }}' + $data | ConvertTo-Json -Depth 3 | Set-Content $file - run: git --no-pager diff diff --git a/CLAUDE.md b/CLAUDE.md index f68c3912a..61fb9406d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -131,12 +131,12 @@ The CI system uses modular, reusable workflows in `.github/workflows/`: | 6000.0.x | Yes | Yes | | 6000.1.x | No | Yes | -Version mapping is defined in `scripts/ci-env.ps1`: +Version mapping is defined in `scripts/unity-versions.json` (each entry has a `version` and a `changeset`): - `2021.3` → `2021.3.45f2` -- `2022.3` → `2022.3.70f1` -- `6000.0` → `6000.0.48f1` -- `6000.1` → `6000.1.17f1` +- `2022.3` → `2022.3.62f3` +- `6000.0` → `6000.0.74f1` +- `6000.3` → `6000.3.14f1` ### Docker-Based Builds diff --git a/scripts/ci-docker.sh b/scripts/ci-docker.sh index 1cbde3566..a9330c0b1 100755 --- a/scripts/ci-docker.sh +++ b/scripts/ci-docker.sh @@ -2,7 +2,7 @@ set -euo pipefail unityPrefix="$1" -unityVersion=$(pwsh ./scripts/ci-env.ps1 "unity$unityPrefix") +unityVersion=$(jq -r --arg p "$unityPrefix" '.[$p].version' ./scripts/unity-versions.json) imageVariant=$(echo "$2" | tr '[:upper:]' '[:lower:]') licenseConfig=$3 diff --git a/scripts/ci-env.ps1 b/scripts/ci-env.ps1 deleted file mode 100644 index 184cf889b..000000000 --- a/scripts/ci-env.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -param ( - [Parameter()] - [string] $name -) - -switch ($name) { - "unity2021.3" { return "2021.3.45f2" } - "unity2021.3-changeset" { return "88f88f591b2e" } - "unity2022.3" { return "2022.3.62f3" } - "unity2022.3-changeset" { return "96770f904ca7" } - "unity6000.0" { return "6000.0.74f1" } - "unity6000.0-changeset" { return "7685f01dc6be" } - "unity6000.3" { return "6000.3.14f1" } - "unity6000.3-changeset" { return "d68c3f99a318" } - Default { throw "Unkown variable '$name'" } -} diff --git a/scripts/unity-versions.json b/scripts/unity-versions.json new file mode 100644 index 000000000..75fd5646f --- /dev/null +++ b/scripts/unity-versions.json @@ -0,0 +1,18 @@ +{ + "2021.3": { + "version": "2021.3.45f2", + "changeset": "88f88f591b2e" + }, + "2022.3": { + "version": "2022.3.62f3", + "changeset": "96770f904ca7" + }, + "6000.0": { + "version": "6000.0.74f1", + "changeset": "7685f01dc6be" + }, + "6000.3": { + "version": "6000.3.14f1", + "changeset": "d68c3f99a318" + } +}