Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add a symlink for 3.14 compatibility.
  • Loading branch information
freakboy3742 committed Mar 27, 2026
commit 1ee9d59f30077c7fa8689f8f57856e0588db5a81
24 changes: 21 additions & 3 deletions master/custom/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -1046,7 +1046,7 @@ def __init__(self, source, **kwargs):
super().__init__(source, **kwargs)

def setup(self, parallel, branch, test_with_PTY=False, **kwargs):
if branch in {"3.13", "3.14"}:
if branch == "3.13":
Comment thread
vstinner marked this conversation as resolved.
Resolved
out_of_tree_dir = "build_oot"
oot_dir_path = os.path.join("build", out_of_tree_dir)
oot_build_path = os.path.join(oot_dir_path, "build")
Expand Down Expand Up @@ -1189,35 +1189,53 @@ def setup(self, parallel, branch, test_with_PTY=False, **kwargs):
workdir=oot_host_path,
)
)
else: # Builds of Python 3.15+
else:
# Builds of Python 3.14+ can use the XCframework build script.
#
# The script moved to the Platforms folder in 3.15; the first command
# symlinks to the "new" location so that the 3.15+ build instructions
# will work as-is. This will fail on <= 3.13 PR branches.
build_environ = {
"CACHE_DIR": "/Users/buildbot/downloads",
}

self.addSteps(
[
ShellCommand(
Comment thread
vstinner marked this conversation as resolved.
Resolved
name="Set up compatibility symlink (will fail on <= 3.13 branches)",
command="[ -e Platforms/Apple ] || ln -s ../Apple Platforms/Apple",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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.

),
Compile(
name="Configure and compile build Python",
command=["python3", "Platforms/Apple", "build", "iOS", "build"],
env=build_environ,
),
Compile(
name="Configure and compile host Pythons",
command=["python3", "Platforms/Apple", "build", "iOS", "hosts"],
env=build_environ,
),
Compile(
name="Package XCframework",
command=["python3", "Platforms/Apple", "package", "iOS"],
env=build_environ,
),
Test(
name="Run test suite",
command=[
"python3",
"Platforms/Apple",
"iOS",
"test",
"iOS",
"--slow-ci",
],
env=build_environ,
timeout=step_timeout(self.test_timeout),
),
Clean(
name="Clean the builds",
command=["python3", "Platforms/Apple", "clean", "iOS"],
env=build_environ,
),
]
)
Expand Down
Loading