Skip to content

[clr-ios] Default Apple mobile CoreCLR ReadyToRun to composite regardless of BuildTestsOnHelix#130402

Merged
kotlarmilos merged 1 commit into
dotnet:mainfrom
kotlarmilos:clr-ios/r2r-composite-default
Jul 10, 2026
Merged

[clr-ios] Default Apple mobile CoreCLR ReadyToRun to composite regardless of BuildTestsOnHelix#130402
kotlarmilos merged 1 commit into
dotnet:mainfrom
kotlarmilos:clr-ios/r2r-composite-default

Conversation

@kotlarmilos

@kotlarmilos kotlarmilos commented Jul 9, 2026

Copy link
Copy Markdown
Member

Description

The composite and macho defaults for Apple mobile CoreCLR ReadyToRun were gated on BuildTestsOnHelix != 'true', so a test that enables ReadyToRun while building with BuildTestsOnHelix=true, which is why iOS.CoreCLR.R2R.Test published per-assembly pe while every other Apple mobile CoreCLR image is composite macho.

…less of BuildTestsOnHelix

The composite and macho defaults sat in a property group gated on
BuildTestsOnHelix != true, so a test that enables ReadyToRun while
building with BuildTestsOnHelix=true fell back to the SDK default of
non-composite pe. Move the composite and container-format defaults into
a group keyed on PublishReadyToRun so composite macho is the default
whenever ReadyToRun is on, and keep the PublishReadyToRun default gated
on BuildTestsOnHelix != true so library tests still build IL only in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates Apple mobile MSBuild defaults so CoreCLR ReadyToRun builds consistently use composite R2R with Mach-O container format whenever PublishReadyToRun=true, even when building with BuildTestsOnHelix=true.

Changes:

  • Split the existing ReadyToRun defaults so PublishReadyToRun remains gated on BuildTestsOnHelix != 'true', while composite/container-format defaults are gated on PublishReadyToRun == 'true'.
  • Make PublishReadyToRunComposite and PublishReadyToRunContainerFormat true/macho only when they’re otherwise unset (avoids overriding explicit settings).
Show a summary per file
File Description
src/mono/msbuild/apple/build/AppleBuild.props Moves composite/container-format defaults into a PublishReadyToRun==true-keyed group so Mach-O composite is the default whenever R2R is enabled.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 0

@kotlarmilos kotlarmilos added area-Infrastructure-coreclr Only use for closed issues os-ios Apple iOS and removed area-Build-mono labels Jul 9, 2026
@kotlarmilos kotlarmilos added this to the 11.0.0 milestone Jul 9, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@kotlarmilos kotlarmilos requested a review from BrzVlad July 9, 2026 10:16
@kotlarmilos

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member Author

/ba-g unrelated extra-platforms errors, the binlog shows --composite --obj-format:macho and iOS.CoreCLR.R2R.Test passes on iOS Simulator, MacCatalyst, and tvOS

@kotlarmilos kotlarmilos merged commit 1d85f40 into dotnet:main Jul 10, 2026
104 of 118 checks passed
@dotnet-milestone-bot dotnet-milestone-bot Bot modified the milestones: 11.0.0, 11.0-preview7 Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure-coreclr Only use for closed issues os-ios Apple iOS

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants