summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2024-08-05 18:17:03 -0700
committerRoxie Linden <roxie@lindenlab.com>2024-08-05 18:17:03 -0700
commit293187e04b5dfbc002fd694b75ffdca4b2fdbc8e (patch)
tree7a62cbed068a148c37f9f98306bb73e97701cd68
parentab07023c93bdf514f4f84dc63b814d9acbe8af76 (diff)
Build mac symbols for multiple binaries/dynamic libraries and upload them all to bugsplat
-rw-r--r--.github/workflows/build.yaml16
-rwxr-xr-xbuild.sh4
-rw-r--r--indra/cmake/Linking.cmake1
-rw-r--r--indra/llwebrtc/CMakeLists.txt2
4 files changed, 19 insertions, 4 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 57faafc042..c2abc503bb 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -390,15 +390,27 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
+ - name: Download Mac Symbols
+ if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
+ uses: actions/download-artifact@v4
+ with:
+ name: macOS-symbols
+ path: _artifacts
+ - name: Unpack Mac Symbols
+ run: |
+ mkdir _extracted
+ tar -xJf ${{ needs.build.outputs.viewer_channel }}.sym.tar.gz -C _extracted
- name: Post Mac symbols
if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
- uses: secondlife/viewer-build-util/post-bugsplat-mac@v2
+ uses: Bugsplat-Git/symbol-upload@v9.1.1
with:
username: ${{ env.BUGSPLAT_USER }}
password: ${{ env.BUGSPLAT_PASS }}
database: "SecondLife_Viewer_2018"
- channel: ${{ needs.build.outputs.viewer_channel }}
+ application: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
+ directory: _extracted
+ files: "**/*.dSYM"
release:
needs: [setvar, build, sign-and-package-windows, sign-and-package-mac]
diff --git a/build.sh b/build.sh
index e025b73170..1a7ef1a941 100755
--- a/build.sh
+++ b/build.sh
@@ -527,8 +527,8 @@ then
if [ "${RELEASE_CRASH_REPORTING:-}" != "OFF" ]
then
# BugSplat wants to see xcarchive.zip
- # e.g. build-darwin-x86_64/newview/Release/Second Life Test.xcarchive.zip
- symbol_file="${build_dir}/newview/${variant}/${viewer_channel}.xcarchive.zip"
+ # e.g. build-darwin-x86_64/newview/Release/Second Life Test.sym.tar.gz
+ symbol_file="${build_dir}/newview/${variant}/${viewer_channel}.sym.tar.gz
if [[ ! -f "$symbol_file" ]]
then
# symbol tarball we prep for (e.g.) Breakpad
diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake
index 0ab30d0800..a5b8767923 100644
--- a/indra/cmake/Linking.cmake
+++ b/indra/cmake/Linking.cmake
@@ -19,6 +19,7 @@ if (WINDOWS OR DARWIN )
endif()
else()
set(SHARED_LIB_STAGING_DIR ${CMAKE_BINARY_DIR}/sharedlibs/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>)
+ set(SYMBOLS_STAGING_DIR ${CMAKE_BINARY_DIR}/symbols/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>)
endif()
if( DARWIN )
diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt
index fd1788c5d4..a8d23b461a 100644
--- a/indra/llwebrtc/CMakeLists.txt
+++ b/indra/llwebrtc/CMakeLists.txt
@@ -41,6 +41,8 @@ if (WINDOWS)
iphlpapi)
elseif (DARWIN)
target_link_libraries(llwebrtc PRIVATE ll::webrtc)
+ set_target_properties(llwebrtc PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
+ XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}")
elseif (LINUX)
target_link_libraries(llwebrtc PRIVATE ll::webrtc)
endif (WINDOWS)