-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[infra] Enable trimming on Helix for Apple mobile #100669
[infra] Enable trimming on Helix for Apple mobile #100669
Conversation
This commit introduces the EnableAggressiveTrimming parameter in the Apple mobile targets for build machines. It ensures that parameters and items used by the ILLink target are passed correctly.
This commit introduces the EnableAggressiveTrimming parameter in the proxy project. Additionally, it ensures that ILLink props and targets are included into the payload.
This commit adds ILLink descriptor files to preserve types needed for tests. Additionally, it disables tests that are not trim-compatible.
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
...libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs
Outdated
Show resolved
Hide resolved
...libraries/Microsoft.Extensions.Configuration.Binder/tests/Common/ConfigurationBinderTests.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/System/NullableMetadataTests.cs
Outdated
Show resolved
Hide resolved
Are we going to still run iOSlike tests without |
Since customers could theoretically turn it off, there is value in running w/o trimming. I don't think it needs to be run anywhere except the rolling build. |
/azp run runtime-ioslike |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run runtime-ioslike |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
The trimming is enabled by default on PR builds and disabled on rolling builds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the only thing that is left is to remove references to EnableSoftTrimming
.
Other than that I think we are good to go!
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job!
* Add ILLink support to build machines This commit introduces the EnableAggressiveTrimming parameter in the Apple mobile targets for build machines. It ensures that parameters and items used by the ILLink target are passed correctly. * Add ILLink support on Helix This commit introduces the EnableAggressiveTrimming parameter in the proxy project. Additionally, it ensures that ILLink props and targets are included into the payload. * Fix trimming-related test failures This commit adds ILLink descriptor files to preserve types needed for tests. Additionally, it disables tests that are not trim-compatible. * Fix ILLinkTasksAssembly path in AppleBuild.LocalBuild.props * Remove EnableSoftTrimming property --------- Co-authored-by: Ivan Povazan <ivan.povazan@gmail.com>
Description
This PR (fixes #91923) introduces the trimming of library tests on Helix for Apple mobile targets. With trimming enabled, the configuration more closely mirrors the experience of an end user when building Apple mobile applications.
This change results in a
20min (42%) reduction in CI job builds for iOS
(a subset of tests) and a22min (18%) reduction for tvOS
(the complete coverage).Initial work is available at #92719.
Test job run: https://dev.azure.com/dnceng-public/public/_build/results?buildId=622954&view=results