-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Split the Runtime Shared Framework project and combine legs in the official build #111136
Split the Runtime Shared Framework project and combine legs in the official build #111136
Conversation
…ework projects that are hard-coded to specific runtimes.
…ime sfxproj projects.
… of the target switches.
…NativeAOT or singlefile instead of building a tool pack like how we build a runtime pack.
This was added for crossgen1, which we no longer ship.
…for all supported targets in the same job.
… to get BuildAllRuntimePacks working locally on Windows x64
…e.CoreCLR.sfxproj
…untime pack projects)
…ow has an alternative solution for the product all-up).
…apsing the CrossAOT jobs as well.
… default subsets are calculated for linux-bionic
… for eventual VMR usage
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
…ky/runtime into split-runtime-sfxproj
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.
Looks great. Please compare the produced merged manifest with a recent runtime-official build before merging.
Verified that the same assets are available in the official build and a recent main official build. |
/ba-g Unrelated timeouts |
….yml Regressed with #111136 I noticed because a second "Build product" step got injected that was building Debug in runtime-official
* main: JIT: Model GT_RETURN kills with contained operand (dotnet#111230) Update dependencies from https://github.com/dotnet/runtime-assets build 20250110.2 (dotnet#111290) [NativeAOT/ARM64] Generate frames compatible with Apple compact unwinding (dotnet#107766) Cleanup unused JIT stubs in vm (dotnet#111237) Ensure that Shuffle is marked as HW_Flag_CanBenefitFromConstantProp (dotnet#111303) Fix CMP0173 policy warning with cmake 3.31 (dotnet#110522) [RISC-V] Fix HostActivation.Tests unknown-rid (dotnet#110687) Fix accidentally duplicated global-build-step.yml in runtime-official.yml (dotnet#111302) JIT: run extra SPMI queries for arrays (dotnet#111293) Split the Runtime Shared Framework project and combine legs in the official build (dotnet#111136) Do not ignore `MemoryMarshal.TryWrite` result (dotnet#108661) Update dependencies from https://github.com/dotnet/emsdk build 20250109.1 (dotnet#111263) Clean up in Number.Formatting.cs (dotnet#110955)
dotnet-runtime-*.symbols.tar.gz is not shipped anymore so copy the symbol nupkg's instead. more details:- dotnet/runtime#111136
dotnet-runtime-*.symbols.tar.gz is not shipped anymore so copy the symbol nupkg's instead. more details:- dotnet/runtime#111136 Signed-off-by: Sanjam Panda <[email protected]>
dotnet-runtime-*.symbols.tar.gz is not shipped anymore so copy the symbol nupkg's instead. more details:- dotnet/runtime#111136 Signed-off-by: Sanjam Panda <[email protected]>
dotnet-runtime-*.symbols.tar.gz is not shipped anymore so copy the symbol nupkg's instead. more details:- dotnet/runtime#111136 Signed-off-by: Sanjam Panda <[email protected]>
Split the
Microsoft.NETCore.App.Runtime.sfxproj
project into three separate projects, one for each runtime (CoreCLR, Mono, NativeAOT).This makes some of the logic easier to reason about as settings specific to one runtime can be isolated in that project file.
The main benefit though, is that splitting the project allows us to build multiple "Runtime shared frameworks" in a single build invocation.
This PR also adds a
DotNetBuildAllRuntimePacks
property that builds all runtime packs that are supported for the given target. It also enables building the Mono CrossAOT compiler that runs on the target (targeting all RIDs supported for a CrossAOT compiler running on that target).These changes allow us to reduce the number of legs in our official build's Build stage from 79 to 41 by enabling us to deduplicate all builds for a given platform except for Mono LLVMAOT for desktop, CoreCLR PGO-instrumented, and Wasm single threaded vs multithreaded.
Once this flows to the VMR, we can do similar deduplication in the VMR and significantly reduce the lanes there as well using the same property.