[ci] Build and run on ARM platforms for iOS UITests and device tests#33474
Merged
[ci] Build and run on ARM platforms for iOS UITests and device tests#33474
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses a build configuration issue in the iOS UITest infrastructure by ensuring that both simulator architectures (x64 and arm64) are built when running on Apple Silicon machines. This fixes failures where the test runner couldn't locate the correct .app bundle for UI tests.
Changes:
- Added runtime identifier configuration for iOS simulator builds on arm64 host machines to include both x64 and arm64 architectures
Member
Author
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
Author
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
Author
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
Author
|
/azp run maui-pr-devicetests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…l binary lookup - Remove RuntimeIdentifiers for iOS and macCatalyst from csproj (was applying to all builds) - Add multi-RID build logic in uitests-apphost task for ARM64 CI agents only - Update devices-shared.cake to prefer universal binary in parent directory - Fixes code signing issue where RID-specific apps had stale signatures
Member
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
- Move RuntimeIdentifiers back to csproj with CI condition - Use '' == 'true' or '' == 'true' pattern (matches Core.DeviceTests) - Remove cake-based RuntimeIdentifiers logic (no longer needed) - Fixes issue where platform argument wasn't being passed to cake
Member
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This was referenced Jan 13, 2026
StephaneDelcroix
approved these changes
Jan 13, 2026
PureWeen
added a commit
that referenced
this pull request
Jan 14, 2026
…device tests (#33474) - Add universal binary search logic in devices-shared.cake for iOS/macCatalyst - Add ARM64 agent demands for MAUI pool in ci-device-tests.yml and ci-uitests.yml - Update RuntimeIdentifiers to use CI/TF_BUILD environment variable checks
rmarinho
pushed a commit
that referenced
this pull request
Jan 15, 2026
…device tests (#33474) - Add universal binary search logic in devices-shared.cake for iOS/macCatalyst - Add ARM64 agent demands for MAUI pool in ci-device-tests.yml and ci-uitests.yml - Update RuntimeIdentifiers to use CI/TF_BUILD environment variable checks
kubaflo
pushed a commit
to kubaflo/maui
that referenced
this pull request
Jan 16, 2026
…otnet#33474) ### Description of Change Try fix issues where it can t find the correct .app to run the uitests https://dev.azure.com/dnceng-public/public/_build/results?buildId=1249376&view=results This pull request improves support for ARM64 architecture in both CI pipelines and test project configurations. The changes ensure that device and UI tests run on ARM64 agents and expand runtime identifiers for better platform coverage. **CI Pipeline Updates for ARM64:** * Added an explicit demand for `Agent.OSArchitecture -equals ARM64` to the `MAUI` pool in both `ci-device-tests.yml` and `ci-uitests.yml`, ensuring these pipelines run on ARM64 agents. [[1]](diffhunk://#diff-3c01e959fbddcc83fed139e6855a1fb2211a82deff79904912c021d96e433d2bR73-R74) [[2]](diffhunk://#diff-f0d1c4172dd9c907f376bbf9165bb7866553b059e26c8519320d65b9d4e673e3R70-R71) [[3]](diffhunk://#diff-f0d1c4172dd9c907f376bbf9165bb7866553b059e26c8519320d65b9d4e673e3R85-R86) **Test Project Runtime Identifier Enhancements:** * Updated `Controls.TestCases.HostApp.csproj` to always include both `maccatalyst-x64` and `maccatalyst-arm64` runtime identifiers for Mac Catalyst targets, regardless of host architecture. Also added `iossimulator-x64` and `iossimulator-arm64` for iOS targets, improving test coverage across architectures. --------- Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Description of Change
Try fix issues where it can t find the correct .app to run the uitests
https://dev.azure.com/dnceng-public/public/_build/results?buildId=1249376&view=results
This pull request improves support for ARM64 architecture in both CI pipelines and test project configurations. The changes ensure that device and UI tests run on ARM64 agents and expand runtime identifiers for better platform coverage.
CI Pipeline Updates for ARM64:
Agent.OSArchitecture -equals ARM64to theMAUIpool in bothci-device-tests.ymlandci-uitests.yml, ensuring these pipelines run on ARM64 agents. [1] [2] [3]Test Project Runtime Identifier Enhancements:
Controls.TestCases.HostApp.csprojto always include bothmaccatalyst-x64andmaccatalyst-arm64runtime identifiers for Mac Catalyst targets, regardless of host architecture. Also addediossimulator-x64andiossimulator-arm64for iOS targets, improving test coverage across architectures.