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

Switch from arm64 biarch image to Azure Linux image #101946

Merged
merged 1 commit into from
May 7, 2024

Conversation

sbomer
Copy link
Member

@sbomer sbomer commented May 6, 2024

I couldn't find a ci leg where the biarch image is still needed, so trying to remove it.

Use of the biarch image was added in #91019 but the job that used it was disabled for arm64 in #92057. #90427 tracks adding back the arm64 jobs.

From what I could gather, the arm64 fullaot job was added in #55362 which explains:

We don't ship any products using FullAOT on Linux x64/arm64, but this
compilation mode is used for iOS, FullAOT-related issues that affect iOS are
likely to be caught by FullAOT on Linux x64/arm64, and it is a lot easier to
build, develop, and debug on desktop OSes.

If the arm64 job is enabled again in the future, it should probably be made to use a new entry in pipeline-with-resources.yml, instead of modifying the image used for all other linux_arm64 jobs.

Fixes #101707

@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label May 6, 2024
@sbomer
Copy link
Member Author

sbomer commented May 6, 2024

/azp run runtime-extra-platforms-other

Copy link

No pipelines are associated with this pull request.

@sbomer
Copy link
Member Author

sbomer commented May 6, 2024

/azp run runtime-llvm

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sbomer
Copy link
Member Author

sbomer commented May 6, 2024

/azp run runtime-extra-platforms

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@kotlarmilos kotlarmilos left a comment

Choose a reason for hiding this comment

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

Thanks! Does it contain binutils toolchain?

@sbomer
Copy link
Member Author

sbomer commented May 7, 2024

It doesn't have GNU binutils - but it has LLVM equivalents.

@sbomer sbomer merged commit 102dcd1 into dotnet:main May 7, 2024
188 of 202 checks passed
@richlander
Copy link
Member

This is the difference in container size (uncompressed). Almost 1GB.

$ docker images mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-biarch-amd64-arm64
REPOSITORY                                    TAG                                        IMAGE ID       CREATED        SIZE
mcr.microsoft.com/dotnet-buildtools/prereqs   cbl-mariner-2.0-cross-biarch-amd64-arm64   ef26c9c48521   12 hours ago   5.81GB
$ docker images mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm64-net9.0
REPOSITORY                                    TAG                                 IMAGE ID       CREATED        SIZE
mcr.microsoft.com/dotnet-buildtools/prereqs   azurelinux-3.0-cross-arm64-net9.0   a4e65664d770   10 hours ago   4.97GB

michaelgsharp pushed a commit to michaelgsharp/runtime that referenced this pull request May 9, 2024
The biarch image is currently unused in our ci builds.

Use of the biarch image was added in
dotnet#91019 but the job that
used it was disabled for arm64 in
dotnet#92057. dotnet#90427
tracks adding back the arm64 jobs.

The arm64 fullaot job was added in
dotnet#55362 which explains:

> We don't ship any products using FullAOT on Linux x64/arm64, but this
compilation mode is used for iOS, FullAOT-related issues that affect iOS are
likely to be caught by FullAOT on Linux x64/arm64, and it is a lot easier to
build, develop, and debug on desktop OSes.

If the arm64 job is enabled again in the future, it should be
made to use a new entry in `pipeline-with-resources.yml`, instead
of modifying the image used for all other linux_arm64 jobs.

Fixes dotnet#101707
Ruihan-Yin pushed a commit to Ruihan-Yin/runtime that referenced this pull request May 30, 2024
The biarch image is currently unused in our ci builds.

Use of the biarch image was added in
dotnet#91019 but the job that
used it was disabled for arm64 in
dotnet#92057. dotnet#90427
tracks adding back the arm64 jobs.

The arm64 fullaot job was added in
dotnet#55362 which explains:

> We don't ship any products using FullAOT on Linux x64/arm64, but this
compilation mode is used for iOS, FullAOT-related issues that affect iOS are
likely to be caught by FullAOT on Linux x64/arm64, and it is a lot easier to
build, develop, and debug on desktop OSes.

If the arm64 job is enabled again in the future, it should be
made to use a new entry in `pipeline-with-resources.yml`, instead
of modifying the image used for all other linux_arm64 jobs.

Fixes dotnet#101707
@github-actions github-actions bot locked and limited conversation to collaborators Jun 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Why is biarch image used for Arm64 glibc and not Alpine?
3 participants