-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce iossimulator
RIDs, and convert as needed
#49305
Conversation
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
Hmm... it doesn't look like the iOS tests ran on any of the configurations. They should also be on the staging pipeline, but for some reason they aren't. |
The packaging build passed. |
OK, so here's the summary:
IMHO since there are multiple intersecting concerns across multiple repos, we should parent on iOS for now, and fix it up later once the changed RIDs are in. Either way there's coordinating across multiple repos needed to avoid build breaks |
ios-sim
RIDs, and convert as needediossimulator
RIDs, and convert as needed
Yes, we should flow that information into dotnet/installer to make sure the package rids are known. And yes, if we would want to depend on that information before we can consume a new SDK, updating RIDs in the known items makes sense. |
No, RID definitions do not imply superset. They just indicate possible reuse. The parenting of a RID should be done to maximize potential reuse: pick a parent that will have the most reuse. In this specific case consider an asset which targets:
Which asset is more likely to be reusable on |
These were renamed in dotnet/runtime#49305. While not strictly necessary here since ios-x64 is just used in tests it's better to be consistent to avoid confusion.
Previously, we have had four iOS RIDs:
Apple has never shipped an iOS device with an x86 or x64 processor. Instead, the x86/x64 RIDs have meant "iOS simulator with these arches" as opposed to "iOS with these arches". Amongst other things, that means building against a DIFFERENT SDK,
iPhoneSimulator.platform
vsiPhoneOS.platform
In the Apple Silicon future, the iOS simulator is now an ARM64 binary - so we need:
Clearly, there's a problem.
The solution is to move the simulators to a different RID, to avoid the overloading issue:
This PR introduces the new entries in the RID graph, moves our existing iOS-x{86,64} to iOS-sim-x{86,64}, adds a new iOS-arm64.
The above also applies for tvOS, with a smaller set of OSes:
Ref: #48216