-
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
source-build: support building runtime using non-portable runtime packages. #75597
Conversation
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. |
This isn't working fully. For some reason
I don't understand where this reference comes from, but probably we don't actually need this? |
Apparently the reference happens as soon as you add |
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsCurrently 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. cc @omajid @MichaelSimons @crummel @ViktorHofer @ericstj @jkotas
|
Tagging subscribers to this area: @hoyosjs Issue DetailsCurrently 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. cc @omajid @MichaelSimons @crummel @ViktorHofer @ericstj @jkotas
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsCurrently 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. cc @omajid @MichaelSimons @crummel @ViktorHofer @ericstj @jkotas
|
@ViktorHofer @jkotas I took a step back and wrote up an issue that describes the goal: dotnet/source-build#3027. And made a PR that includes these changes as a patch to help validate it: dotnet/installer#14549. @ViktorHofer I will address your feedback this week. Besides this, we also need #74721 (comment). |
@jkotas who would be the right person to review the ILCompiler and Crossgen2 changes? |
I can take a look or route as necessary once the feedback is addressed. |
…kages. 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.
CI failed because of an issue with the @ViktorHofer can you trigger CI, and also take another look at this PR? |
Closing and reopening usually does the trick and retriggers all the legs. |
@ViktorHofer since this has |
Added a style nit commit. Also, to retrigger CI as there were more than 20 failing legs. |
Thanks a lot, Tom! |
…kages (backport of dotnet#75597)
@ViktorHofer can you initiate backports to 7.0 for this and the other 2 related PRs: #74504, #76068. |
We just merged some of these into release/6.0. Ideally, we would have backported these changes at the same into release/6.0 and release/7.0 as we now need another set of approvals. That said, yes, I will cherry-pick them together into a single PR and add the servicing template and ask for an approval. |
Sorry for the overhead, and thank you for taking care of it! |
…kages. (#75597) * source-build: support building runtime using non-portable runtime packages. 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. * Avoid references to Microsoft.AspNetCore.App.<rid>. * crossgen2: set RuntimeIdentifier explicitly. * PR feedback * Revert "crossgen2: set RuntimeIdentifier explicitly." This reverts commit 10be274. * PR feedback. * Revert changes to ILCompiler.csproj. * Update Directory.Build.targets Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
* Use generated runtime.json when building shared framework packages. (#76068) * Use generated runtime.json when building shared framework packages. * Don't UpdateRuntimeJson on Build. * PR feedback. * Update Microsoft.NETCore.Platforms.csproj Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> * source-build: support building runtime using non-portable runtime packages. (#75597) * source-build: support building runtime using non-portable runtime packages. 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. * Avoid references to Microsoft.AspNetCore.App.<rid>. * crossgen2: set RuntimeIdentifier explicitly. * PR feedback * Revert "crossgen2: set RuntimeIdentifier explicitly." This reverts commit 10be274. * PR feedback. * Revert changes to ILCompiler.csproj. * Update Directory.Build.targets Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> * source-build: set the properties to build for mono runtime. (#77786) * Pass TargetRid and SourceBuildNonPortable to the native scripts (#74504) * Pass SourceBuild TargetRid and SourceBuildPortable args through the native script. * Rename -packagerid to -distrorid. * Fix init-distro-rid.sh. * Use OutputRid instead of PackageRid. * Drop unnecessary Condition. * Try passing --distrorid as OutputRid. * NativeExport: use PackageRID for AppHostRuntimeIdentifier. * Rename --distrorid to --outputrid. * Fix SourceBuild.props. * Undo changes to init-distro-rid.sh. * Let source-build leg build 'banana-x64' rid. * SourceBuild.props: don't force a RuntimeOS. * SourceBuild.props: set AdditionalRuntimeIdentifierParent. * Build banana.24-x64 instead. * Fix SourceBuild.props. * SourceBuild.props: try fix AdditionalRuntimeIdentifier* usage. * source-build.yml: add runtimeOS parameter. * SourceBuild.props: derive RuntimeOS from NETCoreSdkRuntimeIdentifier. * Undo using NETCoreSdkRuntimeIdentifier. * Update eng/pipelines/common/global-build-job.yml Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com> Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com> Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com> Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
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.
cc @omajid @MichaelSimons @crummel @ViktorHofer @ericstj @jkotas