-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[ci] Build both platforms for iOS UITEsts #33252
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR addresses a CI/CD issue where iOS UI test builds may be created on machines with different architectures (arm64 vs x64), and subsequent test execution stages may run on machines with different architectures than the build stage. The change ensures both simulator architectures are built when building on an arm64 host machine.
Key Changes:
- Added multi-RID support for iOS simulator builds to match existing MacCatalyst behavior
| <ImplicitUsings>enable</ImplicitUsings> | ||
| <!-- Disable multi-RID builds to workaround a parallel build issue --> | ||
| <RuntimeIdentifiers Condition="$(TargetFramework.Contains('-maccatalyst'))">maccatalyst-x64</RuntimeIdentifiers> | ||
| <RuntimeIdentifiers Condition="$(TargetFramework.Contains('-maccatalyst')) and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'arm64'">maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The iOS multi-RID configuration only builds both architectures when the host is arm64, but not when the host is x64. This creates an asymmetry compared to line 12 which always builds maccatalyst-x64. Consider whether an x64 host should also build both iOS simulator architectures to ensure complete artifact availability across different CI machine architectures. If x64 hosts should only build x64 simulators, add a corresponding condition similar to line 12.
| <RuntimeIdentifiers Condition="$(TargetFramework.Contains('-maccatalyst')) and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'arm64'">maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> | |
| <RuntimeIdentifiers Condition="$(TargetFramework.Contains('-maccatalyst')) and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'arm64'">maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> | |
| <RuntimeIdentifiers Condition="$(TargetFramework.Contains('-ios'))">iossimulator-x64</RuntimeIdentifiers> |
|
/rebase |
f44d414 to
53b67ad
Compare
|
/rebase |
53b67ad to
08f1c9f
Compare
Description of Change
Sometimes the app is built in a arm or x64 machine, the next stage can be also in a arm or x64 machine so we need to have both artefacts