Upload debug info to sentry.io in nightly builds (#35089)

This is a preparatory change which will allow us to use sentry for crash
reporting once we start uploading minidumps.

Release Notes:

- N/A
This commit is contained in:
Julia Ryan 2025-07-28 12:42:36 -05:00 committed by GitHub
parent eef15abbe4
commit a57e4dc8a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 72 additions and 2 deletions

View file

@ -83,6 +83,23 @@ if [[ "$remote_server_triple" == "$musl_triple" ]]; then
fi
cargo build --release --target "${remote_server_triple}" --package remote_server
# Upload debug info to sentry.io
if ! command -v sentry-cli >/dev/null 2>&1; then
echo "sentry-cli not found. skipping sentry upload."
echo "install with: 'curl -sL https://sentry.io/get-cli | bash'"
else
if [[ -n "${SENTRY_AUTH_TOKEN:-}" ]]; then
echo "Uploading zed debug symbols to sentry..."
# note: this uploads the unstripped binary which is needed because it contains
# .eh_frame data for stack unwinindg. see https://github.com/getsentry/symbolic/issues/783
sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev \
"${target_dir}/${target_triple}"/release/zed \
"${target_dir}/${remote_server_triple}"/release/remote_server
else
echo "missing SENTRY_AUTH_TOKEN. skipping sentry upload."
fi
fi
# Strip debug symbols and save them for upload to DigitalOcean
objcopy --only-keep-debug "${target_dir}/${target_triple}/release/zed" "${target_dir}/${target_triple}/release/zed.dbg"
objcopy --only-keep-debug "${target_dir}/${remote_server_triple}/release/remote_server" "${target_dir}/${remote_server_triple}/release/remote_server.dbg"