diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0c0f0aea..09ee495af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -144,7 +144,7 @@ jobs: matrix: # Note: these versions must match scripts/packaging/engine-versions.txt # Note: Currently 5.0 is not supported due to ue4-docker issue https://github.com/adamrehn/ue4-docker/issues/373 - unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6'] + unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6', '5.7'] uses: ./.github/workflows/test-linux.yml with: unreal-version: ${{ matrix.unreal }} @@ -169,7 +169,7 @@ jobs: strategy: fail-fast: false matrix: - unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6'] + unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6', '5.7'] uses: ./.github/workflows/test-android.yml with: unreal-version: ${{ matrix.unreal }} @@ -181,7 +181,7 @@ jobs: strategy: fail-fast: false matrix: - unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6'] + unreal: ['4.27', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6', '5.7'] uses: ./.github/workflows/integration-test-linux.yml with: unreal-version: ${{ matrix.unreal }} diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 55f26feb3..09115b2ef 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -93,6 +93,7 @@ jobs: mkdir -p /home/ue4/UnrealEngine/Epic/UnrealEngine && chown -R $uid /home/ue4/UnrealEngine/Epic ; mkdir -p /home/ue4/UnrealEngine/Engine/Source/Epic/UnrealEngine && chown -R $uid /home/ue4/UnrealEngine/Engine/Source/Epic ; mkdir -p /home/ue4/UnrealEngine/Engine/Intermediate/Build/BuildCookRun && chown -R $uid /home/ue4/UnrealEngine/Engine/Intermediate/Build/BuildCookRun ; + mkdir -p /home/ue4/UnrealEngine/Engine/Intermediate/Build/Android/a/UnrealGame/Development/BuildSettings/Gen && chown -R $uid /home/ue4/UnrealEngine/Engine/Intermediate/Build/Android/a/UnrealGame/Development/BuildSettings/Gen ; mkdir -p /home/ue4/.config/Epic/UnrealEngine && chown -R $uid /home/ue4/.config ; mkdir -p /home/ue4/UnrealEngine/UnrealTrace && chown -R $uid /home/ue4/UnrealEngine/UnrealTrace ; mkdir -p /home/ue4/.gradle && chown -R $uid /home/ue4/.gradle ; diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index 707a78608..91dd01c35 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -83,6 +83,7 @@ jobs: run: | uid=$(id -u) # the GH action user ID docker exec --user root unreal bash -c " + chown -R $uid /home/ue4/.config/Epic/UnrealEngine/XmlConfigCache-+home+ue4+UnrealEngine.bin ; chown -R $uid /home/ue4/UnrealEngine/Engine/Binaries/ThirdParty/Mono/Linux ; chown -R $uid /home/ue4/UnrealEngine/Engine/\"$ENGINE_PATH\" ; chown -R $uid /home/ue4/UnrealEngine/Engine/Binaries/ThirdParty/USD/UsdResources/Linux ; diff --git a/.github/workflows/ue-docker-android.yml b/.github/workflows/ue-docker-android.yml index f334c9d17..a4717a0f4 100644 --- a/.github/workflows/ue-docker-android.yml +++ b/.github/workflows/ue-docker-android.yml @@ -15,6 +15,7 @@ on: - 5.4 - 5.5 - 5.6 + - 5.7 ue_repo: description: Set Unreal Engine repository required: true diff --git a/.github/workflows/ue-docker-linux.yml b/.github/workflows/ue-docker-linux.yml index 7ad9b0472..ef9b9f6b1 100644 --- a/.github/workflows/ue-docker-linux.yml +++ b/.github/workflows/ue-docker-linux.yml @@ -15,6 +15,7 @@ on: - 5.4 - 5.5 - 5.6 + - 5.7 ue_repo: description: Set Unreal Engine repository required: true @@ -97,7 +98,8 @@ jobs: --target minimal \ --exclude debug \ --exclude templates \ - --exclude ddc + --exclude ddc \ + --opt buildgraph_args="-set:WithClient=false -set:WithServer=false" - name: Log in to GitHub package registry uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a diff --git a/.github/workflows/ue-docker-windows.yml b/.github/workflows/ue-docker-windows.yml index da4b14470..f399d142f 100644 --- a/.github/workflows/ue-docker-windows.yml +++ b/.github/workflows/ue-docker-windows.yml @@ -16,6 +16,7 @@ on: - 5.4 - 5.5 - 5.6 + - 5.7 ue_repo: description: Set Unreal Engine repository required: true diff --git a/CHANGELOG.md b/CHANGELOG.md index f48a137af..91eda99e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Fixes + +- No more warnings in UE 5.7 caused by deprecated API usage ([#1152](https://github.com/getsentry/sentry-unreal/pull/1152)) + ### Dependencies - Bump Native SDK from v0.12.0 to v0.12.1 ([#1136](https://github.com/getsentry/sentry-unreal/pull/1136)) diff --git a/docker/ue-android-prerequisites-5.7.dockerfile b/docker/ue-android-prerequisites-5.7.dockerfile new file mode 100644 index 000000000..27f46eca8 --- /dev/null +++ b/docker/ue-android-prerequisites-5.7.dockerfile @@ -0,0 +1,44 @@ +ARG NAMESPACE +ARG PREREQS_TAG +FROM ${NAMESPACE}/ue4-base-build-prerequisites:${PREREQS_TAG} + +# Switch to root to install additional packages +USER root + +# Install Java 21 (required for UE 5.7 Android builds) +RUN apt-get update && apt-get install -y --no-install-recommends \ + openjdk-21-jdk \ + wget \ + unzip && \ + rm -rf /var/lib/apt/lists/* + +# Set up environment variables for Android SDK/NDK +# Unreal Engine checks multiple environment variable names, so we set all of them +ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 +ENV ANDROID_HOME=/home/ue4/android-sdk +ENV ANDROID_SDK_ROOT=/home/ue4/android-sdk +ENV ANDROID_NDK=/home/ue4/android-sdk/ndk/27.2.12479018 +ENV ANDROID_NDK_ROOT=/home/ue4/android-sdk/ndk/27.2.12479018 +ENV NDKROOT=/home/ue4/android-sdk/ndk/27.2.12479018 +ENV NDK_ROOT=/home/ue4/android-sdk/ndk/27.2.12479018 +ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools + +# Switch to ue4 user for SDK installation (to ensure correct permissions) +USER ue4 + +# Download and install Android command-line tools +RUN mkdir -p ${ANDROID_HOME}/cmdline-tools && \ + cd ${ANDROID_HOME}/cmdline-tools && \ + wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip && \ + unzip -q commandlinetools-linux-9477386_latest.zip && \ + rm commandlinetools-linux-9477386_latest.zip && \ + mv cmdline-tools latest + +# Accept licenses and install Android SDK components +# UE 5.7 requires: API Level 34, Build Tools 35.0.1, NDK r27c (27.2.12479018) +RUN yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --licenses && \ + ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager \ + "platform-tools" \ + "platforms;android-34" \ + "build-tools;35.0.1" \ + "ndk;27.2.12479018" diff --git a/plugin-dev/Source/Sentry/Private/SentrySubsystem.cpp b/plugin-dev/Source/Sentry/Private/SentrySubsystem.cpp index eb463572e..88a0b0169 100644 --- a/plugin-dev/Source/Sentry/Private/SentrySubsystem.cpp +++ b/plugin-dev/Source/Sentry/Private/SentrySubsystem.cpp @@ -26,6 +26,7 @@ #include "Misc/AssertionMacros.h" #include "Misc/CoreDelegates.h" #include "Misc/EngineVersion.h" +#include "Misc/EngineVersionComparison.h" #include "SentryAttachment.h" #include "Interface/SentrySubsystemInterface.h" @@ -994,7 +995,9 @@ void USentrySubsystem::ConfigureOutputDevice() if (OutputDevice) { GLog->AddOutputDevice(OutputDevice.Get()); +#if UE_VERSION_OLDER_THAN(5, 7, 0) GLog->SerializeBacklog(OutputDevice.Get()); +#endif } } diff --git a/scripts/packaging/engine-versions.txt b/scripts/packaging/engine-versions.txt index a40170650..95e1f640a 100644 --- a/scripts/packaging/engine-versions.txt +++ b/scripts/packaging/engine-versions.txt @@ -1,3 +1,4 @@ +5.7 5.6 5.5 5.4