Skip to content

Conversation

freakboy3742
Copy link
Contributor

@freakboy3742 freakboy3742 commented Sep 21, 2025

Adds tooling to generate and test an iOS XCframework, in a way that will also facilitate adding other XCframework targets for other Apple platforms (tvOS, watchOS, visionOS and even macOS, potentially).


Co-authored-by: Hugo van Kemenade [email protected]

(cherry picked from commit 35c7e52)


This doesn't alter anything in the operation of iOS; it moves the location of the testbed, and adds the tooling to coordinate XCframework builds. This will potentially allow for a binary release in a 3.14 point release; but at the very least, will make back porting efforts easier in the meantime.

…ipt (python#138176)

Adds tooling to generate and test an iOS XCframework, in a way that will also facilitate
adding other XCframework targets for other Apple platforms (tvOS, watchOS, visionOS and
even macOS, potentially).

---------
Co-authored-by: Hugo van Kemenade <[email protected]>

(cherry picked from commit 35c7e52)
@freakboy3742
Copy link
Contributor Author

!buildbot iOS

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @freakboy3742 for commit 659cb85 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F139204%2Fmerge

The command will test the builders whose names match following regular expression: iOS

The builders matched are:

  • iOS ARM64 Simulator PR

@freakboy3742
Copy link
Contributor Author

Tagging @hugovk following our discussion at PyCon UK, for consideration in 3.14.0 final.

Copy link
Member

@ned-deily ned-deily left a comment

Choose a reason for hiding this comment

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

Looks like the original binary stubs in iOS/Resources/bin remain in the repo after this PR; this is also the case in main. I assume the whole iOS directory should be removed. If so, suggest to do that in a separate PR for main and backport that to 3.14 after this PR is merged.

Otherwise LGTM. I successfully built and ran the testsuite using ./Apple with Xcode 26 on macOS 26.0 running on an Apple Silicon Mac and on macOS 15.6.1 running on an Intel Mac.

@freakboy3742
Copy link
Contributor Author

Looks like the original binary stubs in iOS/Resources/bin remain in the repo after this PR; this is also the case in main. I assume the whole iOS directory should be removed. If so, suggest to do that in a separate PR for main and backport that to 3.14 after this PR is merged.

We will also need a tweak to the buildbots to allow for differentiating build instructions for PR builds based on branch; however, speaking with @ambv at the sprint last week, he indicated this is something that has been on the wishlist for a while. If we can fix that, then we can modify the buildbot to have a different instruction set for 3.14+ and 3.13 PRs, and then delete the iOS directory from both the 3.14 and main branches.

@AA-Turner
Copy link
Member

Was closing this PR intended?

A

@freakboy3742 freakboy3742 restored the backport-35c7e52-3.14 branch September 28, 2025 22:42
@freakboy3742
Copy link
Contributor Author

@AA-Turner Ooops - it was not. Collateral damage of some over-aggressive branch housekeeping on my repo fork.

@freakboy3742 freakboy3742 reopened this Sep 28, 2025
@hugovk hugovk merged commit 91d8645 into python:3.14 Sep 29, 2025
95 checks passed
@freakboy3742 freakboy3742 deleted the backport-35c7e52-3.14 branch September 29, 2025 08:30
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.

5 participants