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] source-build: support building runtime using non-portable runtime packages (backport of #75597) #77509

Merged

Conversation

ayakael
Copy link
Contributor

@ayakael ayakael commented Oct 26, 2022

Backport of #75597

Per @tmds

Currently source-build performs a 'runtime-portable' build that produces 'linux-{arch}' packages that are used when building target runtime (non-portable).

With this change, we can use the non-portable packages that are produced by a previous (non-portable) 'runtime' build. This helps eliminate the 'runtime-portable' build.

Customer impact

For distro maintainers, this removes the need for providing portable runtime packages to build non-portable runtime, thus we do not need to build runtime twice. This reduces our build time significantly.

Testing

Risk

Low, as it is already in main, and only activates when DotNetBuildFromSource=true

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Oct 26, 2022
@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.

@carlossanlop
Copy link
Member

@ViktorHofer I see you approved the main PR. This is an infra change only, so tell-mode. Can you please sign off this backport?

Directory.Build.targets Outdated Show resolved Hide resolved
Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

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

Apart from one nit change, LGTM

@carlossanlop
Copy link
Member

Two tests are failing with a nuget problem. @ViktorHofer @ayakael Is the failure related to this change?

/datadisks/disk1/work/9D6508C9/p/wasm-test-runner/WasmTestRunner.proj : error MSB4242: SDK Resolver Failure: "The SDK resolver "NuGetSdkResolver" failed while attempting to resolve the SDK "Microsoft.Build.NoTargets/1.0.53". Exception: "System.IO.IOException: The system cannot open the device or file specified. : 'NuGet-Migrations'

@ayakael
Copy link
Contributor Author

ayakael commented Nov 4, 2022

Two tests are failing with a nuget problem. @ViktorHofer @ayakael Is the failure related to this change?

/datadisks/disk1/work/9D6508C9/p/wasm-test-runner/WasmTestRunner.proj : error MSB4242: SDK Resolver Failure: "The SDK resolver "NuGetSdkResolver" failed while attempting to resolve the SDK "Microsoft.Build.NoTargets/1.0.53". Exception: "System.IO.IOException: The system cannot open the device or file specified. : 'NuGet-Migrations'

I don't see how it could be related given that this change only expresses itself when DotNetBuildFromSource=true. That test doesn't seem to set that flag.

@ghost
Copy link

ghost commented Nov 7, 2022

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

Issue Details

Backport of #75597

Per @tmds

Currently source-build performs a 'runtime-portable' build that produces 'linux-{arch}' packages that are used when building target runtime (non-portable).

With this change, we can use the non-portable packages that are produced by a previous (non-portable) 'runtime' build. This helps eliminate the 'runtime-portable' build.

Customer impact

For distro maintainers, this removes the need for providing portable runtime packages to build non-portable runtime, thus we do not need to build runtime twice. This reduces our build time significantly.

Testing

Risk

Low, as it is already in main, and only activates when DotNetBuildFromSource=true

Author: ayakael
Assignees: -
Labels:

area-Infrastructure, community-contribution

Milestone: 6.0.x

@ViktorHofer
Copy link
Member

@carlossanlop can this change be merged into release/6.0? Is the branch already open?

@carlossanlop carlossanlop merged commit d47faf2 into dotnet:release/6.0 Nov 9, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants