Skip to content

Conversation

@rolfbjarne
Copy link
Member

@rolfbjarne rolfbjarne commented Oct 15, 2025

Description of Change

Always install the universal iOS simulators.

Otherwise:

  1. The arm64 iOS simulator isn't able to run x64 apps.
  2. We run x64 apps in the iOS simulator in dotnet/macios (even on arm64 bots).
  3. If MAUI installs the arm64 iOS simulator, it'll make our x64 tests apps fail to launch.

So fix this by installing the universal iOS simulator when using Xcode 26+
(earlier versions of Xcode doesn't support the '-architectureVariant'
argument).

Note

Are you waiting for the changes in this PR to be merged?

Yes!

It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

N/A

Otherwise:

1. The arm64 iOS simulator isn't able to run x64 apps.
2. We run x64 apps in the iOS simulator in dotnet/macios (even on arm64 bots).
3. If MAUI installs the arm64 iOS simulator, it'll make our x64 tests apps fail to launch.

So fix this by installing the universal iOS simulator when using Xcode 26+
(earlier versions of Xcode doesn't support the '-architectureVariant'
argument).
Copilot AI review requested due to automatic review settings October 15, 2025 12:12
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 modifies Xcode simulator provisioning in CI pipelines to always install universal iOS simulators on Xcode 26+, ensuring compatibility with x64 test apps running on arm64 machines.

Key Changes:

  • Adds conditional logic to install universal iOS simulators when Xcode version is 26 or greater
  • Maintains backward compatibility by falling back to standard iOS platform download for earlier Xcode versions

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
eng/pipelines/common/provision.yml Adds Xcode version check and conditional universal iOS simulator installation during provisioning
eng/pipelines/arcade/setup-test-env.yml Adds identical Xcode version check and conditional universal iOS simulator installation for test environment setup

@rolfbjarne rolfbjarne changed the title [ci] Always install the universal iOS simulators. [ci] Always install the universal iOS simulator. Oct 15, 2025
@rmarinho rmarinho added the area-testing Unit tests, device tests label Oct 15, 2025
@rmarinho rmarinho merged commit 1596b7c into dotnet:main Oct 15, 2025
125 of 129 checks passed
@rmarinho
Copy link
Member

/backport release/10.0.1xx

@rmarinho
Copy link
Member

/backport to net10.0

@github-actions
Copy link
Contributor

rmarinho added a commit that referenced this pull request Oct 20, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Nov 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-testing Unit tests, device tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants