Skip to content

Conversation

@am11
Copy link
Member

@am11 am11 commented Sep 13, 2021

cross-build of arm32 is currently using 3.13 and arm64 is using 3.9. We have updated rootfs script to set 3.13 as a minimum version dotnet/arcade#7849. This PR aims to rebuild both arm and arm64 cross-build Alpine images, so 3.13 is used consistently for alpine on all supported architectures.

@ghost ghost added the area-dockerfiles label Sep 13, 2021
@am11
Copy link
Member Author

am11 commented Sep 13, 2021

@mthalman since it is the change in upstream (arcade) repo which we want to exercise, but arm64 will use the cached image.
Is there a way to force rebuild arm64 images as well part of CI run?
See

$SCRIPTPATH/../../../../build-scripts/build-rootfs.sh ubuntu-16.04 alpine arm64 lldb3.9
and
$SCRIPTPATH/../../../../build-scripts/build-rootfs.sh ubuntu-18.04 alpine arm64 lldb3.9

are physically unchanged, but rebuilding these will use alpine 3.13 rather than 3.9 now, which is what we need for .NET 6.

@am11 am11 force-pushed the feature/alpine-cross-build branch from b205cb5 to 79caf5a Compare September 13, 2021 13:26
@mthalman
Copy link
Member

Because the Dockerfile hasn't changed, it'll end up pulling the already published version of the built Dockerfile instead of building it (and running the shell script). To actually build it, you could make a simple whitespace change to the relevant Dockerfiles to verify the build results and then revert the change before merging.

@am11 am11 force-pushed the feature/alpine-cross-build branch from 79caf5a to c04663d Compare September 13, 2021 13:40
@am11
Copy link
Member Author

am11 commented Sep 13, 2021

Ah ok, for now I have toggled the values (since alpine == alpine3.13 as of now). We can align them in next cycle.

@am11
Copy link
Member Author

am11 commented Sep 22, 2021

@mthalman, if this looks good, can this be merged? Thanks!

cc @janvorli, @ViktorHofer

@mthalman mthalman merged commit 78f7860 into dotnet:main Sep 23, 2021
@am11 am11 deleted the feature/alpine-cross-build branch September 23, 2021 13:33
@am11
Copy link
Member Author

am11 commented Sep 23, 2021

@mthalman, unfortunately the new image picked up the layer from cache, arm64 is still on 3.9 .. 😞

$ URN=mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-20210923132506-78f7860
$ docker run -it  $URN cat /crossrootfs/arm64/etc/os-release | grep VERSION
VERSION_ID=3.9.6

We would need to add a dummy step (RUN echo foo) somewhere on top of these Dockerfiles to force the rebuild (whitespace changes don't count) ..

@mthalman
Copy link
Member

Oh, right, forgot about that. I can run the build with caching disabled. No worries.

@am11
Copy link
Member Author

am11 commented Sep 23, 2021

Thanks a lot! It is fixed in ubuntu-16.04-cross-arm64-alpine-20210923140502-78f7860.
arm and arm64 files are aligned in #517 to avoid confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants