Skip to content

Conversation

bruno-garcia
Copy link
Member

@bruno-garcia bruno-garcia commented May 13, 2025

Since I tried my luck with:
* getsentry/sentry-native#880

Blocked by:
* getsentry/sentry-native#880
Not blocked because sentry-native itself compiles on arm64 on Windows, the issue there is more about setting up the repo and integration tests.

A lot was figured out by @jpnurmi when adding musl Linux, so I just copied over

TODO:

  • Test with env.CI_PUBLISHING_BUILD set to true
  • Plugin the actual sentry-native arm64 build when available, for Native AOT support

@bruno-garcia bruno-garcia marked this pull request as draft May 17, 2025 21:17
@bruno-garcia bruno-garcia mentioned this pull request May 18, 2025
8 tasks
@bruno-garcia
Copy link
Member Author

/Users/runner/.dotnet/sdk/9.0.203/Sdks/NuGet.Build.Tasks.Pack/buildCrossTargeting/NuGet.Build.Tasks.Pack.targets(221,5): error : Could not find a part of the path '/Users/runner/work/sentry-dotnet/sentry-dotnet/src/Sentry/Platforms/Native/sentry-native/win-arm64'. [/Users/runner/work/sentry-dotnet/sentry-dotnet/src/Sentry/Sentry.csproj]

I think now the only thing left is building sentry-native for Windows arm64 which is being done on:

jpnurmi added 2 commits May 19, 2025 20:16
Downloads are separate steps because
macOS (CI_PUBLISHING_BUILD) needs to download both.
@jpnurmi
Copy link
Collaborator

jpnurmi commented May 19, 2025

Does actions/cache with enableCrossOsArchive not work on windows-11-arm?

  1. sentry-native build succeeds on windows-11-arm and it saves the cache.
  2. The cache artifact is visible at https://github.com/getsentry/sentry-dotnet/actions/caches
  3. .NET build for windows-11-arm manages to restore the cache.
  4. .NET build for macOS (CI_PUBLISHING_BUILD=true) does not find the same cache entry.

@bruno-garcia bruno-garcia marked this pull request as ready for review May 19, 2025 23:53
@jpnurmi
Copy link
Collaborator

jpnurmi commented May 20, 2025

@jamescrosswell @Flash0ver On behalf of @bruno-garcia, I've fixed the remaining issues with cache keys etc. to make the CI pass. Once everything looks good, I'd propose merging this PR first, and then we can proceed with the musl PR that has some overlap.

@bruno-garcia bruno-garcia enabled auto-merge (squash) May 21, 2025 17:53
@jamescrosswell
Copy link
Collaborator

Just to make sure I understand what's going on here before we merge:

  • We've added another runner (Windows ARM64) to make sure that all of our unit tests etc pass when using versions of the SDK and integrations compiled for and running on Windows ARM64
  • In terms of the actual NuGet packages (which all get built by the MacOS runner), the only thing that's changed is that we now ship a version of SentryNative that is compiled for Windows ARM64... which is the main thing that wasn't working on Windows ARM64 before (and is required for NativeAOT to work on Windows ARM64)?

Is that all accurate?

@bruno-garcia
Copy link
Member Author

Just to make sure I understand what's going on here before we merge:

  • We've added another runner (Windows ARM64) to make sure that all of our unit tests etc pass when using versions of the SDK and integrations compiled for and running on Windows ARM64
  • In terms of the actual NuGet packages (which all get built by the MacOS runner), the only thing that's changed is that we now ship a version of SentryNative that is compiled for Windows ARM64... which is the main thing that wasn't working on Windows ARM64 before (and is required for NativeAOT to work on Windows ARM64)?

Is that all accurate?

Right, we already had a Windows x64 build that the packaging build (on Mac) pulled from. So this would add a second one.

@bruno-garcia
Copy link
Member Author

Running a release off of this branch just to test it out: https://github.com/getsentry/sentry-dotnet/actions/runs/15174949147

cc @Flash0ver if we ship this (not planning on doing that, just want to test CI for a release build) it would take over the .1 number

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.

4 participants