Skip to content

Conversation

@rmarinho
Copy link
Member

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

Copilot AI review requested due to automatic review settings December 19, 2025 19:00
@rmarinho rmarinho added area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions area-testing Unit tests, device tests labels Dec 19, 2025
Copy link
Contributor

Copilot AI left a 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>
Copy link

Copilot AI Dec 19, 2025

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.

Suggested change
<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>

Copilot uses AI. Check for mistakes.
@PureWeen
Copy link
Member

/rebase

@PureWeen
Copy link
Member

/rebase

@github-actions github-actions bot force-pushed the build-ios-several-arch branch from 53b67ad to 08f1c9f Compare December 30, 2025 17:04
@rmarinho rmarinho closed this Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions area-testing Unit tests, device tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants