Skip to content
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

Merged
merged 1 commit into from
Aug 30, 2021

Conversation

dseefeld
Copy link
Contributor

When building portable, only a subset of runtime needs to be built. allconfigurations is only needed when source-build builds 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.
@dotnet-issue-labeler
Copy link

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>
Copy link
Member

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.

Copy link
Contributor Author

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

Copy link
Member

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.

Copy link
Contributor Author

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.

@am11
Copy link
Member

am11 commented Aug 25, 2021

Is this needed in the main branch as well? Normally we target the main branch then post a comment /backport to release/6.0 once merged, which opens a PR like #58102.

@github-actions
Copy link
Contributor

Started backporting to release/6.0: https://github.com/dotnet/runtime/actions/runs/1167618788

@github-actions
Copy link
Contributor

@am11 an error occurred while backporting to release/6.0, please check the run log for details!

Error: @am11 is not a repo collaborator, backporting is not allowed.

@ghost
Copy link

ghost commented Aug 26, 2021

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Issue Details

When building portable, only a subset of runtime needs to be built. allconfigurations is only needed when source-build builds a non-portable build.

Author: dseefeld
Assignees: -
Labels:

area-Infrastructure

Milestone: -

@ViktorHofer
Copy link
Member

runtime (CoreCLR Pri0 Runtime Tests Run windows arm64 checked) test failure is #11063

@danmoseley
Copy link
Member

approved for 6.0 -- supports shipping source build

@danmoseley
Copy link
Member

Failure is xunit again.

@danmoseley danmoseley merged commit eaffea5 into dotnet:release/6.0 Aug 30, 2021
dseefeld added a commit to dseefeld/runtime that referenced this pull request Sep 1, 2021
When building portable, only a subset of runtime needs to be
built.  allconfigurations is only needed in a non-portable build.
MichaelSimons pushed a commit to MichaelSimons/runtime that referenced this pull request Sep 1, 2021
When building portable, only a subset of runtime needs to be
built.  allconfigurations is only needed in a non-portable build.
MichaelSimons pushed a commit that referenced this pull request Sep 1, 2021
When building portable, only a subset of runtime needs to be
built.  allconfigurations is only needed in a non-portable build.
@ghost ghost locked as resolved and limited conversation to collaborators Sep 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants