From a9014cb76f648a39e3fda2f22b7084927f60548f Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 09:37:58 +0200 Subject: [PATCH 1/7] Enable shipping build for Android --- .github/workflows/test-android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 09115b2ef..87043e9ed 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -168,7 +168,7 @@ jobs: -project=/workspace/checkout/sample/SentryPlayground.uproject \ -archivedirectory=/workspace/checkout/sample/Builds \ -platform=Android \ - -clientconfig=Development \ + -clientconfig=Development+Shipping \ -nop4 \ -cook \ -iterate \ From a0d4d03d028607c8041a4e1ec5a86ade6f5602ed Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 10:08:26 +0200 Subject: [PATCH 2/7] Add protobuf javalite dependency --- plugin-dev/Source/Sentry/Sentry_Android_UPL.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml index 595c630ae..a80a0c0c3 100644 --- a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml +++ b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml @@ -127,6 +127,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar']) + implementation "com.google.protobuf:protobuf-javalite:3.25.8" } repositories { From 1553e3f59d37c8765b74f68b255d0c95162b414d Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 10:12:53 +0200 Subject: [PATCH 3/7] Enable gradle override --- plugin-dev/Gradle/gradle-wrapper.properties | 2 +- plugin-dev/Source/Sentry/Sentry_Android_UPL.xml | 17 +---------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/plugin-dev/Gradle/gradle-wrapper.properties b/plugin-dev/Gradle/gradle-wrapper.properties index 3c472b99c..53aec7034 100644 --- a/plugin-dev/Gradle/gradle-wrapper.properties +++ b/plugin-dev/Gradle/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip diff --git a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml index a80a0c0c3..1fbb1b02e 100644 --- a/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml +++ b/plugin-dev/Source/Sentry/Sentry_Android_UPL.xml @@ -22,21 +22,6 @@ - - - - - - - - - - - - - - - @@ -49,7 +34,7 @@ - + From 9647616700f04e21516032897d10a1c68082e42f Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 10:31:02 +0200 Subject: [PATCH 4/7] Fix distribution build --- .github/workflows/test-android.yml | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 87043e9ed..619fe9559 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -150,8 +150,27 @@ jobs: mkdir -p ~/.config/Unreal\ Engine/UnrealBuildTool ; cp /workspace/checkout/.github/BuildConfiguration.xml ~/.config/Unreal\ Engine/UnrealBuildTool/ " - - name: Build Android package - id: build-android + - name: Build Android package (Development) + id: build-android-dev + run: | + docker exec -w /workspace/checkout/sample \ + -e TMPDIR=/home/gh/.cache/tmp \ + unreal /home/ue4/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun \ + -project=/workspace/checkout/sample/SentryPlayground.uproject \ + -archivedirectory=/workspace/checkout/sample/Builds \ + -platform=Android \ + -clientconfig=Development \ + -nop4 \ + -cook \ + -iterate \ + -build \ + -stage \ + -prereqs \ + -package \ + -archive + + - name: Build Android package (Shipping) + id: build-android-shipping env: SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY: true SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} @@ -168,7 +187,8 @@ jobs: -project=/workspace/checkout/sample/SentryPlayground.uproject \ -archivedirectory=/workspace/checkout/sample/Builds \ -platform=Android \ - -clientconfig=Development+Shipping \ + -distribution + -clientconfig=Shipping \ -nop4 \ -cook \ -iterate \ @@ -186,7 +206,7 @@ jobs: key: ${{ steps.ddc-cache-key.outputs.key }} - name: Collect build logs on failure - if: ${{ always() && steps.build-android.outcome == 'failure' }} + if: ${{ always() && (steps.build-android-dev.outcome == 'failure' || steps.build-android-shipping.outcome == 'failure') }} uses: actions/upload-artifact@v4 with: name: UE ${{ inputs.unreal-version }} Android build logs @@ -194,7 +214,7 @@ jobs: checkout/sample/Saved/Logs - name: Upload Android build - if: ${{ success() && steps.build-android.outcome == 'success' }} + if: ${{ success() && (steps.build-android-dev.outcome == 'success' && steps.build-android-shipping.outcome == 'success') }} uses: actions/upload-artifact@v4 with: name: UE ${{ inputs.unreal-version }} sample build (Android) From 66e55f2930e033ada25842c5338f886f22f104dc Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 11:52:13 +0200 Subject: [PATCH 5/7] Fix formatting in Android build script --- .github/workflows/test-android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 619fe9559..f0c713edf 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -187,7 +187,7 @@ jobs: -project=/workspace/checkout/sample/SentryPlayground.uproject \ -archivedirectory=/workspace/checkout/sample/Builds \ -platform=Android \ - -distribution + -distribution \ -clientconfig=Shipping \ -nop4 \ -cook \ From 7732df6af4efac2a4754b55bb4dd8ee7c1f1a4bc Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 13:34:19 +0200 Subject: [PATCH 6/7] Enable symbol upload in sample settings by default --- sample/Config/DefaultEngine.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/sample/Config/DefaultEngine.ini b/sample/Config/DefaultEngine.ini index 1e8177a5d..0adc860d8 100644 --- a/sample/Config/DefaultEngine.ini +++ b/sample/Config/DefaultEngine.ini @@ -233,6 +233,7 @@ bGeneratedSYMBundle=True CrashReporterUrl="https://o447951.ingest.sentry.io/api/6253052/unreal/93c7a68867db43539980de54f09b139a/" Dsn="https://93c7a68867db43539980de54f09b139a@o447951.ingest.sentry.io/6253052" IncludeSources=True +UploadSymbolsAutomatically=True [/Script/MacTargetPlatform.XcodeProjectSettings] BundleIdentifier=io.sentry.unreal.sample From 625e7014a33c9f25a8ffae539ae88b49d6e10cd7 Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Wed, 28 Jan 2026 14:02:28 +0200 Subject: [PATCH 7/7] Remove symbol upload override using env var --- .github/workflows/test-android.yml | 2 -- .github/workflows/test-linux.yml | 2 -- .github/workflows/test-windows.yml | 2 -- 3 files changed, 6 deletions(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index f0c713edf..d7c0db61c 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -172,14 +172,12 @@ jobs: - name: Build Android package (Shipping) id: build-android-shipping env: - SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY: true SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} run: | docker exec -w /workspace/checkout/sample \ -e TMPDIR=/home/gh/.cache/tmp \ - -e SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY="$SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY" \ -e SENTRY_AUTH_TOKEN="$SENTRY_AUTH_TOKEN" \ -e SENTRY_ORG="$SENTRY_ORG" \ -e SENTRY_PROJECT="$SENTRY_PROJECT" \ diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 91dd01c35..8051ab385 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -145,13 +145,11 @@ jobs: id: run-tests env: EDITOR_BINARY: ${{ inputs.unreal-version == '4.27' && 'UE4Editor' || 'UnrealEditor' }} - SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY: true SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} run: | docker exec -w /workspace/checkout/sample \ - -e SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY="$SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY" \ -e SENTRY_AUTH_TOKEN="$SENTRY_AUTH_TOKEN" \ -e SENTRY_ORG="$SENTRY_ORG" \ -e SENTRY_PROJECT="$SENTRY_PROJECT" \ diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index ae8029372..ca9d30f9c 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -82,13 +82,11 @@ jobs: id: run-tests env: EDITOR_BINARY: ${{ inputs.unreal-version == '4.27' && 'UE4Editor.exe' || 'UnrealEditor.exe' }} - SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY: true SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} run: | docker exec ` - -e SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY="$env:SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY" ` -e SENTRY_AUTH_TOKEN="$env:SENTRY_AUTH_TOKEN" ` -e SENTRY_ORG="$env:SENTRY_ORG" ` -e SENTRY_PROJECT="$env:SENTRY_PROJECT" `