-
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
[release/6.0] Conditionally build allconfigurations in source-build #58122
Conversation
When building portable, only a subset of runtime needs to be built. allconfigurations is only needed in a non-portable build.
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
@@ -37,7 +37,7 @@ | |||
<InnerBuildArgs>$(InnerBuildArgs) --arch $(TargetRidPlatform)</InnerBuildArgs> | |||
<InnerBuildArgs>$(InnerBuildArgs) --configuration $(Configuration)</InnerBuildArgs> | |||
<InnerBuildArgs>$(InnerBuildArgs) --ci</InnerBuildArgs> | |||
<InnerBuildArgs>$(InnerBuildArgs) --allconfigurations</InnerBuildArgs> | |||
<InnerBuildArgs Condition="'$(SourceBuildNonPortable)' == 'true'">$(InnerBuildArgs) --allconfigurations</InnerBuildArgs> |
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.
What does the SourceBuildNonPortable
switch control? I don't see it yet being used in the repo anywhere.
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.
It's the switch that we pass in from source-build to do a portable or non-portable build. In the source-build tarball build,
it builds runtime both portable and non-portable. In the non-portable case, we pass this flag. https://github.com/dotnet/installer/blob/fd550a3dacfda14c19c0c96ce7a7243e90a13ea5/src/SourceBuild/tarball/content/repos/runtime.proj#L12
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.
What I meant is, where is the logic that controls which subset of runtime is built during a source build portable build? I would have expected that the SourceBuildNonPortable
property appears in Subsets.props to control what of runtime is built during a portable build.
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.
There is no difference in subsets between portable and non-portable. The only change is to only build allconfigurations when building a non-portable build.
Is this needed in the main branch as well? Normally we target the |
Started backporting to release/6.0: https://github.com/dotnet/runtime/actions/runs/1167618788 |
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsWhen building portable, only a subset of runtime needs to be built. allconfigurations is only needed when source-build builds a non-portable build.
|
|
approved for 6.0 -- supports shipping source build |
Failure is xunit again. |
When building portable, only a subset of runtime needs to be built. allconfigurations is only needed in a non-portable build.
When building portable, only a subset of runtime needs to be built. allconfigurations is only needed in a non-portable build.
When building portable, only a subset of runtime needs to be built. allconfigurations is only needed when source-build builds a non-portable build.