-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Publish x86_arm/crossgen during Linux/arm build #16953
Conversation
buildpipeline/pipelines.json
Outdated
"CrossArchitecture": "x86", | ||
"CrossArchBuildArgs": "crosscomponent", | ||
"CrossArchBuildPackagesArgs": "-__DoCrossArchBuild=1", | ||
"CAC_ROOTFS_DIR": "/home/dotnet-bot/rootfs/$(CrossArchitecture)" |
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.
Is this path correct?
Can someone explain this to me? Why do we want to cross-crossgen? |
Why do we need a single docker image with both x86 and arm rootfs? |
Likewise, why don't we need arm64 in the same image? |
@sdmaclea I can answer your first two questions: I also work on getting x64_arm crossgen #16513 and when this work is done there will be no need in x86 rootfs. For x64_arm64 crossgen we don't need second rootfs. @jashook might know why we have two separate arm and arm64 docker images. |
We publish this cross-component as NuGet package, so it can be consumed by other DotNet components to produce Ready2Run images. For example, coreclr build will do this for |
So instead of using an x86 ubuntu container with an arm rootfs running on x64 host. Thanks. Arm64 doesn't have these complications. |
Correct arm64 does not need these complications because we can cross target from x64. |
This is now unblocked. Docker image to use is: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-e435274-20180317125354 |
@jashook Updated the docker image tag. PTAL |
Stil lgtm, @mmitche for another reviewer. |
This PR adds compiling and publishing of x86_arm/crossgen (so called, cross-crossgen) to Linux/arm official build
Merge ONLY AFTER dotnet/dotnet-buildtools-prereqs-docker#22 is resolved and official build images are updated