[net11.0] R2R-compile only System.Private.CoreLib for Debug CoreCLR arm64 builds#25787
[net11.0] R2R-compile only System.Private.CoreLib for Debug CoreCLR arm64 builds#25787rolfbjarne wants to merge 1 commit into
Conversation
…m64 builds Only apply the PublishReadyToRunCompositeRoots optimization for arm64 RuntimeIdentifiers, since it broke x64 builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR adjusts the custom ReadyToRun (R2R) MSBuild targets in dotnet/macios to re-introduce the “R2R only CoreLib” optimization, but scoped to -arm64 runtime identifiers to avoid re-breaking x64 builds (as happened in #25583).
Changes:
- Add
PublishReadyToRunCompositeRootsforSystem.Private.CoreLib.dllonly when$(RuntimeIdentifier)ends with-arm64. - Add a
_DedupUnrootedReadyToRunPublishtarget to remove_ReadyToRunCompositeUnrootedBuildInputitems fromResolvedFileToPublishwhen composite roots are present.
| Condition="'%(_ResolvedAssembliesToPublish.NuGetPackageId)' != ''" /> | ||
| <_UserAssemblies Include="@(_ResolvedAssembliesToPublish)" Exclude="@(_NonUserAssemblies)" /> | ||
| <PublishReadyToRunExclude Include="@(_UserAssemblies -> '%(Filename)%(Extension)')" /> | ||
| <PublishReadyToRunCompositeRoots Condition="$(RuntimeIdentifier.EndsWith('-arm64'))" Include="System.Private.CoreLib.dll" KeepDuplicates="false" /> |
There was a problem hiding this comment.
@kotlarmilos this suggestion makes sense to me, what do you think?
| </Target> | ||
|
|
||
| <Target Name="_DedupUnrootedReadyToRunPublish" | ||
| Condition="@(PublishReadyToRunCompositeRoots->Count()) != 0" |
There was a problem hiding this comment.
@kotlarmilos same, this suggestion makes sense to me, what do you think?
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #8b56ee1] Build passed (Detect API changes) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #8b56ee1] Build passed (Build packages) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #8b56ee1] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #8b56ee1] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 3 tests failed, 277 tests passed. Failures❌ interdependent-binding-projects tests2 tests failed, 2 tests passed.Failed tests
Html Report (VSDrops) Download ❌ monotouch tests (macOS)1 tests failed, 23 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Re-applies the changes from #25583 (which was reverted because it broke x64 builds), but scoped to arm64 RuntimeIdentifiers only.
The
PublishReadyToRunCompositeRootsitem is now only added when$(RuntimeIdentifier)ends with-arm64, leaving x64 builds unaffected.🤖 Pull request created by Copilot