Build the flatc host tools for macOS on an iOS build - #22304
Merged
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22304
Note: Links to docs will display an error until the docs builds have been completed. ❌ You can merge normally! (2 Unrelated Failures), 1 Unclassified FailureAs of commit 14dfcf0 with merge base 2b3a32d ( UNCLASSIFIED FAILURE - DrCI could not classify the following job because the workflow did not run on the merge base. The failure may be pre-existing on trunk or introduced by this PR:
FLAKY - The following job failed but was likely due to flakiness present on trunk:
BROKEN TRUNK - The following job failed but was present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
JakeStevens
approved these changes
Aug 31, 2026
shoumikhin
force-pushed
the
fix-ios-deployment-target
branch
from
August 31, 2026 16:34
f04b508 to
840e08a
Compare
shoumikhin
force-pushed
the
fix-ios-deployment-target
branch
from
August 31, 2026 18:19
840e08a to
277fcc7
Compare
shoumikhin
force-pushed
the
fix-ios-deployment-target
branch
from
August 31, 2026 21:53
277fcc7 to
5f3c62e
Compare
Xcode 26 raised the minimum iOS deployment target to 15, so the ios and ios-simulator presets could no longer configure at their old 12.0 floor. This is the current shipping Xcode, not only the 27 beta. Raise both presets to 15.0. The flatc and flatcc tools are built by host sub-projects that run on the build machine. On an iOS build they were handed the app's iOS deployment target, and after Xcode 26/27 that value is an iOS floor the host compiler rejects, so the sub-builds produced a flatc the build machine could not run and the schema step failed. Give those host sub-builds an explicit macOS floor instead of the iOS one. The SDK-root line above them was already blanked for non-MAC Apple builds for the same host-vs-target reason; this completes it for the deployment target. Also add CMakePresets.json to the Apple workflow's path filter so a preset change runs the framework packaging job, and fix a stale deployment-target comment in the MLX build. Test Plan: On a Mac with the ios.toolchain, the flatc host sub-build now configures with a macOS deployment floor (14.0) instead of the iOS target, so it targets the host. Both iOS presets configure at 15.0 on Xcode 27; 12.0 is rejected. The preset floor keeps the top-level iOS configure legal; the host-floor change keeps the flatc and flatcc sub-builds runnable.
shoumikhin
force-pushed
the
fix-ios-deployment-target
branch
from
September 1, 2026 17:17
5f3c62e to
14dfcf0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Xcode 26 raised the minimum iOS deployment target to 15. The
iosandios-simulatorbuild presets set a lower macOS deployment floor (12.0), so on acurrent Xcode they can no longer configure. This is the shipping Xcode, not only
the 27 beta.
There is a second, deeper problem. The
flatcandflatccschema tools are builtby host sub-projects that run on the build machine. On an iOS build they were
handed the app's iOS deployment target. After the floor rose, that value is an iOS
minimum the host compiler rejects, so the sub-build produced a
flatcthe buildmachine could not run, and the Apple builds failed at the schema-generation step.
Fix
flatc/flatcchost sub-builds an explicit macOS deployment floorinstead of the iOS target, so they target the host. The SDK root was already
blanked for non-MAC Apple builds for the same reason; this completes it for the
deployment target.
CMakePresets.jsonto the Apple workflow's path filter so a preset changeruns the framework packaging job.
Test Plan
On a Mac with the pinned iOS toolchain, the
flatchost sub-build now configureswith a macOS deployment floor (14.0) rather than the iOS target, so it builds for
the host. Both iOS presets configure at 15.0 on the current Xcode, and 12.0 is
rejected.