Skip to content

Commit

Permalink
chore(deps): update Native SDK to v0.7.11 (#667)
Browse files Browse the repository at this point in the history
* chore: update modules/sentry-native to 0.7.11

* Update CI setup for Native SDK build

* Try to run tests for older engine version in CI

* Fix missing API build errors

* Fix condition

* Add UE 4.27

* Try remove `gcc-11` and `g++-11`

* uSE libstdc++-11-dev

* Test `libstdc++6` in docker container

* Fix typo

---------

Co-authored-by: GitHub <[email protected]>
Co-authored-by: Ivan Tustanivskyi <[email protected]>
  • Loading branch information
3 people authored Nov 5, 2024
1 parent cccb17c commit 18dfc86
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 6 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,8 @@ jobs:
- name: Setup C++ runtime
run: docker exec --user root unreal bash -c '
apt-get update ;
apt-get install -y libc++-dev '
add-apt-repository ppa:ubuntu-toolchain-r/test ;
apt-get install -y libstdc++6'

- name: Download package
uses: actions/download-artifact@v4
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,12 @@ jobs:
if: ${{ inputs.target == 'Linux' && steps.cache.outputs.cache-hit != 'true' }}
run: |
sudo apt-get update
sudo apt-get install zlib1g-dev libcurl4-openssl-dev clang libc++-dev
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 13
sudo ./llvm.sh 16
sudo apt-get install libc++-16-dev libc++abi-16-dev libstdc++-11-dev zlib1g-dev libcurl4-openssl-dev
- uses: actions/setup-java@v3
if: ${{ inputs.target == 'Android' }}
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
- Bump Java SDK (Android) from v7.15.0 to v7.16.0 ([#665](https://github.com/getsentry/sentry-unreal/pull/665))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7160)
- [diff](https://github.com/getsentry/sentry-java/compare/7.15.0...7.16.0)
- Bump Native SDK from v0.7.6 to v0.7.11 ([#667](https://github.com/getsentry/sentry-unreal/pull/667))
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0711)
- [diff](https://github.com/getsentry/sentry-native/compare/0.7.6...0.7.11)
- Bump Cocoa SDK (iOS) from v8.38.0 to v8.39.0 ([#668](https://github.com/getsentry/sentry-unreal/pull/668))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8390)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.38.0...8.39.0)
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,13 @@ The SDK compiles with three latest engine versions.

- On Windows/Linux if crash event was captured during the garbage collection the `BeforeSendHandler` will not be invoked.

- It may be required to upgrade the C++ standard library (`libstdc++`) on older Linux distributions (such as Ubuntu 18.04 and 20.04) to ensure crashpad handler proper functionality within the deployment environment. This can be achieved with something like this:
```
sudo apt-get update
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install -y libstdc++6
```

## Development

Please see the [contribution guide](./CONTRIBUTING.md).
Expand Down
2 changes: 1 addition & 1 deletion modules/sentry-native
Submodule sentry-native updated 49 files
+1 −1 .github/ISSUE_TEMPLATE/bug_report.md
+15 −4 .github/workflows/ci.yml
+67 −0 .github/workflows/codeql.yml
+45 −0 CHANGELOG.md
+9 −7 CMakeLists.txt
+2 −2 README.md
+1 −1 external/crashpad
+4 −1 include/sentry.h
+1 −1 ndk/gradle.properties
+4 −3 ndk/lib/CMakeLists.txt
+6 −0 ndk/lib/build.gradle.kts
+2 −0 ndk/sample/CMakeLists.txt
+6 −0 ndk/sample/build.gradle.kts
+45 −0 scripts/run_tests.ps1
+7 −0 scripts/update_test_discovery.ps1
+20 −24 sentry-config.cmake.in
+3 −3 src/backends/sentry_backend_breakpad.cpp
+86 −57 src/backends/sentry_backend_crashpad.cpp
+14 −10 src/modulefinder/sentry_modulefinder_linux.c
+64 −0 src/path/sentry_path_unix.c
+73 −3 src/path/sentry_path_windows.c
+11 −8 src/sentry_core.c
+1 −1 src/sentry_database.c
+39 −13 src/sentry_envelope.c
+146 −23 src/sentry_json.c
+14 −1 src/sentry_json.h
+3 −1 src/sentry_logger.c
+28 −0 src/sentry_os.c
+2 −0 src/sentry_os.h
+25 −0 src/sentry_path.h
+1 −1 src/sentry_slice.c
+9 −0 src/sentry_string.h
+63 −18 src/sentry_tracing.c
+1 −1 src/sentry_utils.c
+2 −4 src/sentry_utils.h
+12 −20 src/sentry_value.c
+15 −4 tests/assertions.py
+14 −0 tests/cmake.py
+7 −0 tests/leaks.txt
+3 −0 tests/test_integration_crashpad.py
+3 −1 tests/test_integration_http.py
+2 −2 tests/unit/fuzz.c
+16 −0 tests/unit/test_envelopes.c
+2 −2 tests/unit/test_fuzzfailures.c
+117 −0 tests/unit/test_tracing.c
+65 −1 tests/unit/test_value.c
+4 −0 tests/unit/tests.inc
+2 −0 vendor/mpack.c
+2 −3 vendor/mpack.h
6 changes: 3 additions & 3 deletions scripts/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ rm -rf "${sentryArtifactsDestination}/"*

# Build sentry-native using clang and libc++ for static libs
cmake -S "${sentryNativeRoot}" -B "${sentryNativeRoot}/build" -D SENTRY_BACKEND=crashpad -D SENTRY_TRANSPORT=none -D SENTRY_SDK_NAME=sentry.native.unreal -D SENTRY_BUILD_SHARED_LIBS=OFF \
-D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER="clang++" -D CMAKE_CXX_FLAGS="-stdlib=libc++" -D CMAKE_EXE_LINKER_FLAGS="-stdlib=libc++"
-D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=clang-13 -D CMAKE_CXX_COMPILER="clang++-13" -D CMAKE_CXX_FLAGS="-stdlib=libc++" -D CMAKE_EXE_LINKER_FLAGS="-stdlib=libc++"
cmake --build "${sentryNativeRoot}/build" --target sentry --parallel
cmake --install "${sentryNativeRoot}/build" --prefix "${sentryNativeRoot}/install"

# Build sentry-native using gcc for crashpad which's not depending on libc++
# Build sentry-native using clang and libstdc++ for crashpad executable
cmake -S "${sentryNativeRoot}" -B "${sentryNativeRoot}/build_crashpad_handler" -D SENTRY_BACKEND=crashpad -D SENTRY_TRANSPORT=none -D SENTRY_SDK_NAME=sentry.native.unreal -D SENTRY_BUILD_SHARED_LIBS=OFF \
-D CMAKE_BUILD_TYPE=RelWithDebInfo
-D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_COMPILER=clang-13 -D CMAKE_CXX_COMPILER="clang++-13" -D CMAKE_CXX_FLAGS="-stdlib=libstdc++" -D CMAKE_EXE_LINKER_FLAGS="-stdlib=libstdc++"
cmake --build "${sentryNativeRoot}/build_crashpad_handler" --target sentry --parallel
cmake --install "${sentryNativeRoot}/build_crashpad_handler" --prefix "${sentryNativeRoot}/install_crashpad_handler"

Expand Down

0 comments on commit 18dfc86

Please sign in to comment.