Skip to content

Enable CoreCLR UI tests on Apple mobile#33050

Closed
kotlarmilos wants to merge 2 commits into
net11.0from
feature/coreclr-ui-tests
Closed

Enable CoreCLR UI tests on Apple mobile#33050
kotlarmilos wants to merge 2 commits into
net11.0from
feature/coreclr-ui-tests

Conversation

@kotlarmilos
Copy link
Copy Markdown
Member

@kotlarmilos kotlarmilos commented Dec 8, 2025

Description

This PR enables CoreCLR UI tests, mirroring the existing Android CoreCLR tests implementation.

Fixes Contributes to dotnet/runtime#120056

Copilot AI review requested due to automatic review settings December 8, 2025 13:50
Copy link
Copy Markdown
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 enables CoreCLR UI tests for iOS and MacCatalyst platforms, mirroring the existing Android CoreCLR tests implementation. The changes allow the UI test pipeline to build and run tests using the CoreCLR runtime on Apple mobile and desktop platforms, in addition to the existing Mono and Android CoreCLR support.

Key Changes

  • Added three new build stages for CoreCLR: iOS, MacCatalyst, and Android (renamed from generic CoreCLR stage)
  • Added two new test execution stages: iOS CoreCLR and macOS CoreCLR tests
  • Extended build script to support platform-specific target framework selection for CoreCLR builds

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
eng/pipelines/common/ui-tests.yml Splits the generic CoreCLR build stage into platform-specific stages (Android, iOS, Catalyst) and adds corresponding test execution stages for iOS and macOS CoreCLR tests
eng/cake/dotnet.cake Adds platform detection logic to set appropriate target framework (ios, maccatalyst, android) for CoreCLR builds based on command-line arguments

Comment thread eng/cake/dotnet.cake
else if (HasArgument("android"))
{
properties.Add("TargetFramework", $"{DefaultDotnetVersion}-android");
}
Copy link

Copilot AI Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing fallback case for CoreCLR builds when no platform argument is provided. If USE_CORECLR is true but none of the platform arguments (ios, catalyst, maccatalyst, android) are provided, the TargetFramework property will not be set, which could lead to build failures.

Consider adding an else clause to handle this case, either by:

  1. Defaulting to a specific platform (e.g., Android for backward compatibility)
  2. Throwing a clear error message indicating which platform argument is required

Example:

else
{
    throw new Exception("CoreCLR builds require one of: --ios, --catalyst, --maccatalyst, or --android");
}
Suggested change
}
}
else
{
throw new Exception("CoreCLR builds require one of: --ios, --catalyst, --maccatalyst, or --android");
}

Copilot uses AI. Check for mistakes.
rolfbjarne
rolfbjarne previously approved these changes Dec 8, 2025
@kotlarmilos kotlarmilos marked this pull request as draft December 18, 2025 12:41
@kotlarmilos
Copy link
Copy Markdown
Member Author

Closing in favour of #33233

@kotlarmilos kotlarmilos deleted the feature/coreclr-ui-tests branch December 19, 2025 08:40
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants