Skip to content

Conversation

@maxep
Copy link
Member

@maxep maxep commented Nov 13, 2025

What and why?

Changes the release tooling to support building and distributing XCFrameworks both with and without the arm64e architecture slice.

Fixes #2560

When building with Xcode 26.x, App Store Connect rejects the builds with error 91011, stating that arm64e slices require iOS SDK 26 or later, but the Datadog XCFrameworks contain arm64e slices compiled with iOS SDK 18.2.

Until the SDK is rebuilt with Xcode 26, users building with Xcode 26+ need a version without arm64e to successfully submit to App Store Connect.

This PR provides both versions in releases:

  • Datadog-with-arm64e.xcframework.zip - Full version with all architectures (for Xcode 16.x builds)
  • Datadog.xcframework.zip - Version without arm64e (for Xcode 26+ builds and App Store Connect submission)

How?

New Scripts:

  1. tools/release/remove-arm64e-from-xcframework.sh - Core processing script that removes arm64e slices from XCFramework binaries using lipo -remove arm64e
  2. tools/release/remove-arm64e-from-release.sh - Release management script that downloads an existing GitHub release asset, processes it to create both versions, and uploads them back with user confirmation

Modified Scripts:

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration)
  • Make sure each commit and the PR mention the Issue number or JIRA reference
  • Add CHANGELOG entry for user facing changes
  • Add Objective-C interface for public APIs (see our guidelines (internal) and run make api-surface)

@maxep maxep requested review from a team as code owners November 13, 2025 15:37
domalessi
domalessi previously approved these changes Nov 13, 2025
@maxep maxep force-pushed the maxep/RUM-12702/provide-xcframework-without-arm64e branch from c2f740a to 0473d0c Compare November 14, 2025 12:57
ncreated
ncreated previously approved these changes Nov 18, 2025
Copy link
Member

@ncreated ncreated left a comment

Choose a reason for hiding this comment

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

Looks good 👍.

Comment on lines 55 to 57
echo_info "Publishing '$GH_ASSET_PATH' to '$tag' release in '$REPO_NAME'"
echo_info "▸ Using DRY_RUN = $DRY_RUN"
echo_info "▸ Using OVERWRITE_EXISTING = $OVERWRITE_EXISTING"
Copy link
Member

Choose a reason for hiding this comment

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

Any reason to remove these logs? They're quite handy to understand the configuration of CI job / local run.

Copy link
Member Author

Choose a reason for hiding this comment

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

Not really, we don't have a single GH_ASSET_PATH anymore and it was a bit redundant with the echo_subtitle "Uploading assets to '$tag' release" from the upload function. I can re-add the full context 👍

Copy link
Member Author

Choose a reason for hiding this comment

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

Done!

@maxep
Copy link
Member Author

maxep commented Nov 18, 2025

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Nov 18, 2025

View all feedbacks in Devflow UI.

2025-11-18 12:41:18 UTC ℹ️ Start processing command /merge


2025-11-18 12:41:24 UTC ℹ️ MergeQueue: waiting for PR to be ready

This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-11-18 12:42:07 UTC ⚠️ MergeQueue: This merge request was unqueued

[email protected] unqueued this merge request

@maxep
Copy link
Member Author

maxep commented Nov 18, 2025

/remove

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Nov 18, 2025

View all feedbacks in Devflow UI.

2025-11-18 12:42:01 UTC ℹ️ Start processing command /remove


2025-11-18 12:42:04 UTC ℹ️ Devflow: /remove

@maxep
Copy link
Member Author

maxep commented Nov 18, 2025

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Nov 18, 2025

View all feedbacks in Devflow UI.

2025-11-18 16:21:34 UTC ℹ️ Start processing command /merge


2025-11-18 16:21:39 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in develop is approximately 2h (p90).


2025-11-18 17:04:26 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit ca53328 into develop Nov 18, 2025
20 checks passed
@dd-mergequeue dd-mergequeue bot deleted the maxep/RUM-12702/provide-xcframework-without-arm64e branch November 18, 2025 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error in App Store Connect with Xcode 26

4 participants