Update buildbot to use XCframework build script.#691
Update buildbot to use XCframework build script.#691freakboy3742 wants to merge 5 commits intopython:mainfrom
Conversation
Correct. IMO it's an acceptable trade-off. I don't see any simple solution using buildbot API to use different steps depending on an actual check run on the worker (ex: check if
|
|
It's probably not worth worrying about 3.13. For 3.14, maybe do something like |
👍
Good idea - I'll push an update shortly. |
39e0ec3 to
1ee9d59
Compare
master/custom/factories.py
Outdated
| [ | ||
| ShellCommand( | ||
| name="Set up compatibility symlink (will fail on <= 3.13 branches)", | ||
| command="[ -e Platforms/Apple ] || ln -s ../Apple Platforms/Apple", |
There was a problem hiding this comment.
The docs say single-string format should work...
The Platforms folder exists on 3.14; it doesn't on 3.13 - so this command will fail early on a 3.13-based build.
87b6799 to
2de77fd
Compare
vstinner
left a comment
There was a problem hiding this comment.
LGTM. python/cpython#146497 landed in the Python main branch, so this PR is ready to be merged, right? Just one coding style suggestion :-)
| self.addSteps( | ||
| [ |
There was a problem hiding this comment.
Coding style suggestion: you may move [ after addSteps( to remove one indentation level.
| self.addSteps( | |
| [ | |
| self.addSteps([ |
The iOS XCframework build script will shortly be moved to
Platforms/iOS.This updates the Buildbot config to use the new XCframework buildbot in "slow" mode for 3.15+ builds (ensuring a full, multi-architecture XCframework is built and tested.
I haven't pushed the corresponding CPython PR yet; this is to explore options for branch-based configuration of the build script.As I currently understand it, this will work for buildbot runs that are triggered on a merge of a PR on main, 3.13, 3.14, or the 3.15 branch (when it is forked). A PR build will succeed on main and 3.15 (when it is forked). But a PR build based off a 3.13/3.14 branch will fail (because there's currently no way to identify the base branch of a PR job).python/cpython#146497 has the changes necessary for this build script to work.
It introduces a symlink for 3.14 compatibility. It falls back to the old build script for builds explicitly on the 3.13 branch. PR builds based off a 3.13 branch will fail as the XCframework script wasn't introduced until 3.14, and there's not currently any way to identify the base branch for a "custom" PR build.