Repository navigation
Commit 5558b99
authored
Fix Apple CI toolchain after the PyTorch pin bump (pytorch#23543)
## Summary
Forward fix for the Apple failures after pytorch#23406. The three Apple build
jobs and trunk CoreML delegate job fail while building pinned PyTorch at
`e91899ca45f99811049ac7d539820f92a9acddde`, before reaching the
ExecuTorch framework or app builds. On `macos-14-xlarge`, Xcode 15.4
supplies the macOS 14.5 SDK, and `aten/src/ATen/mps/MPSDevice.mm:129`
fails with `use of undeclared identifier MTLLanguageVersion3_2`. The
pinned source also asserts against `MTLLanguageVersion4_0`, so the
default Xcode 16 toolchain on macOS 15 would still be too old.
Move the demo, frameworks, benchmark, and CoreML delegate jobs to
`macos-15-xlarge` and select the installed Xcode 26.0.1 toolchain
through `DEVELOPER_DIR` before setup. Add the PyTorch pins and shared
macOS setup scripts to the Apple pull request path filter and the pins
to the CoreML delegate condition so future bumps exercise these jobs
before merge.
Failing Apple run:
https://github.com/pytorch/executorch/actions/runs/37656529192
Failing CoreML job:
https://github.com/pytorch/executorch/actions/runs/37656530248/job/112913289020
The Xcode upgrade also exposed device test packaging that specified
`platform=iOS` without a connected device. Change both demo and
benchmark `build-for-testing` invocations to `generic/platform=iOS`,
matching the available Any iOS Device destination on hosted CI runners.
The demo simulator tests passed on Xcode 26.0.1 before reaching this
packaging failure.
The device build then succeeded but the follow-up `-showBuildSettings`
query without a scheme returned a different build directory. Give both
device builds an explicit DerivedData directory and configuration, and
package from that directory. This also keeps benchmark packaging aligned
with its Release configuration.
## Test plan
`git diff --check` passes. Workflow validation with actionlint passes
after excluding its existing old-action-version diagnostics. `bash -n`
passes for all four changed reusable workflow scripts. The exact Metal
language enum and three SDK assertions extracted from the pinned PyTorch
source compile locally against Xcode 26.6 / macOS SDK 26.5 with a macOS
15 deployment target; Xcode 26.0.1 itself is listed in the macOS 15
Arm64 runner image. Shell syntax checks also pass for the two app
packaging scripts. Both scripts produce the expected IPA and xctestrun
archives with build-output fixtures, including work directories
containing spaces. Hosted CI confirms the generic demo device build and
simulator tests succeed; full artifact verification will run with the
explicit output directory fix. A local Xcode destination probe is
blocked because the local iOS platform is not installed for use by
xcodebuild; full device packaging verification requires the PR's hosted
Apple CI.
Authored with OpenAI Codex.1 parent df2c02b commit 5558b99
4 files changed
Lines changed: 40 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
111 | 116 | | |
112 | 117 | | |
113 | 118 | | |
114 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
115 | 122 | | |
116 | 123 | | |
117 | 124 | | |
| |||
120 | 127 | | |
121 | 128 | | |
122 | 129 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | 130 | | |
127 | | - | |
128 | | - | |
129 | 131 | | |
130 | 132 | | |
131 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
| |||
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
| |||
93 | 97 | | |
94 | 98 | | |
95 | 99 | | |
96 | | - | |
| 100 | + | |
97 | 101 | | |
98 | 102 | | |
99 | 103 | | |
| |||
102 | 106 | | |
103 | 107 | | |
104 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
105 | 112 | | |
106 | 113 | | |
107 | 114 | | |
| |||
193 | 200 | | |
194 | 201 | | |
195 | 202 | | |
196 | | - | |
| 203 | + | |
197 | 204 | | |
198 | 205 | | |
199 | 206 | | |
200 | 207 | | |
201 | 208 | | |
202 | 209 | | |
203 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
204 | 214 | | |
205 | 215 | | |
206 | 216 | | |
| |||
414 | 424 | | |
415 | 425 | | |
416 | 426 | | |
417 | | - | |
| 427 | + | |
418 | 428 | | |
419 | 429 | | |
420 | 430 | | |
| |||
423 | 433 | | |
424 | 434 | | |
425 | 435 | | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
426 | 439 | | |
427 | 440 | | |
428 | 441 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| 371 | + | |
| 372 | + | |
371 | 373 | | |
372 | 374 | | |
373 | 375 | | |
374 | 376 | | |
375 | 377 | | |
376 | 378 | | |
377 | | - | |
| 379 | + | |
378 | 380 | | |
379 | 381 | | |
380 | 382 | | |
381 | 383 | | |
382 | 384 | | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
383 | 390 | | |
384 | 391 | | |
385 | 392 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
12 | 16 | | |
13 | 17 | | |
14 | 18 | | |
15 | 19 | | |
16 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
17 | 23 | | |
18 | 24 | | |
19 | 25 | | |
| |||
23 | 29 | | |
24 | 30 | | |
25 | 31 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
0 commit comments