Skip to content

Conversation

@bitsandfoxes
Copy link
Contributor

Summary

With #2298 we introduced pointing sentry-cli to the output folder to recursively upload everything from there. This introduces the problem that the target folder could be anything (e.g., the project root, or the downloads folder), causing very long upload times, "invalid MachO file" warnings, and even upload errors.
Instead, we're going back to specifying which files and folders are supposed to be picked up for each platform.

Changes

  • Explicit path enumeration: Instead of passing buildOutputDir for recursive scanning, we now explicitly specify the files and directories needed for symbol upload
  • Platform-specific paths:
    • Windows: *.exe, UnityPlayer.dll, GameAssembly.dll, sentry.pdb, BackUpThisFolder, BurstDebugInformation
    • Linux: executable, *.so, *_s.debug, libsentry.dbg.so, BackUpThisFolder, BurstDebugInformation
    • macOS: *.app bundle, Sentry.dylib.dSYM, BackUpThisFolder, BurstDebugInformation
    • Xbox/PlayStation: unchanged (dedicated build directories)
  • Mono support: Collects *.pdb files for Mono builds
  • Project directory warning: Logs a warning when build output appears to be inside the Unity project directory

@github-actions
Copy link
Contributor

github-actions bot commented Jan 16, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Bug Fixes 🐛

  • Specify debug symbol upload files and folders by bitsandfoxes in #2485
  • Correctly set native SDK name when targeting Android by bitsandfoxes in #2476
  • Set span.origin by bitsandfoxes in #2464

Build / dependencies / internal 🔧

Deps

  • Update Java SDK to v8.30.0 by github-actions in #2481
  • Update Native SDK to v0.12.3 by github-actions in #2471
  • Update Java SDK to v8.29.0 by github-actions in #2462

Other

  • (release) Switch from action-prepare-release to Craft by BYK in #2473

🤖 This preview updates automatically when you update the PR.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

paths += $" \"{xboxSentryPluginPath}\"";
AddPath(paths, Path.Combine(buildOutputDir, "GameAssembly.dll"), logger, required: true);
// Sentry native in build output
AddPath(paths, Path.Combine(buildOutputDir, $"{baseName}_Data", "Plugins", "x86_64", "sentry.dll"), logger);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

32-bit Windows IL2CPP sentry.dll path hardcoded incorrectly

Low Severity

The code handles both BuildTarget.StandaloneWindows (32-bit) and BuildTarget.StandaloneWindows64 (64-bit) in the same case block, but the sentry.dll path at line 220 is hardcoded to x86_64. For 32-bit Windows IL2CPP builds, Unity places native plugins in the x86 folder instead. This causes the Sentry native DLL's debug symbols to not be found and therefore not uploaded for 32-bit builds.

Fix in Cursor Fix in Web

Base automatically changed from chore/remove-clang-test to fix/move-native January 16, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants