@@ -1046,7 +1046,7 @@ def __init__(self, source, **kwargs):
10461046 super ().__init__ (source , ** kwargs )
10471047
10481048 def setup (self , parallel , branch , test_with_PTY = False , ** kwargs ):
1049- if branch in { "3.13" , "3.14" } :
1049+ if branch == "3.13" :
10501050 out_of_tree_dir = "build_oot"
10511051 oot_dir_path = os .path .join ("build" , out_of_tree_dir )
10521052 oot_build_path = os .path .join (oot_dir_path , "build" )
@@ -1189,35 +1189,53 @@ def setup(self, parallel, branch, test_with_PTY=False, **kwargs):
11891189 workdir = oot_host_path ,
11901190 )
11911191 )
1192- else : # Builds of Python 3.15+
1192+ else :
1193+ # Builds of Python 3.14+ can use the XCframework build script.
1194+ #
1195+ # The script moved to the Platforms folder in 3.15; the first command
1196+ # symlinks to the "new" location so that the 3.15+ build instructions
1197+ # will work as-is. This will fail on <= 3.13 PR branches.
1198+ build_environ = {
1199+ "CACHE_DIR" : "/Users/buildbot/downloads" ,
1200+ }
1201+
11931202 self .addSteps (
11941203 [
1204+ ShellCommand (
1205+ name = "Set up compatibility symlink (will fail on <= 3.13 branches)" ,
1206+ command = "[ -e Platforms/Apple ] || ln -s ../Apple Platforms/Apple" ,
1207+ ),
11951208 Compile (
11961209 name = "Configure and compile build Python" ,
11971210 command = ["python3" , "Platforms/Apple" , "build" , "iOS" , "build" ],
1211+ env = build_environ ,
11981212 ),
11991213 Compile (
12001214 name = "Configure and compile host Pythons" ,
12011215 command = ["python3" , "Platforms/Apple" , "build" , "iOS" , "hosts" ],
1216+ env = build_environ ,
12021217 ),
12031218 Compile (
12041219 name = "Package XCframework" ,
12051220 command = ["python3" , "Platforms/Apple" , "package" , "iOS" ],
1221+ env = build_environ ,
12061222 ),
12071223 Test (
12081224 name = "Run test suite" ,
12091225 command = [
12101226 "python3" ,
12111227 "Platforms/Apple" ,
1212- "iOS" ,
12131228 "test" ,
1229+ "iOS" ,
12141230 "--slow-ci" ,
12151231 ],
1232+ env = build_environ ,
12161233 timeout = step_timeout (self .test_timeout ),
12171234 ),
12181235 Clean (
12191236 name = "Clean the builds" ,
12201237 command = ["python3" , "Platforms/Apple" , "clean" , "iOS" ],
1238+ env = build_environ ,
12211239 ),
12221240 ]
12231241 )
0 commit comments