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

Why is biarch image used for Arm64 glibc and not Alpine? #101707

Closed
richlander opened this issue Apr 30, 2024 · 3 comments · Fixed by #101946
Closed

Why is biarch image used for Arm64 glibc and not Alpine? #101707

richlander opened this issue Apr 30, 2024 · 3 comments · Fixed by #101946

Comments

@richlander
Copy link
Member

This seems odd and suggestive that one case is wrong.

linux_arm64:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-biarch-amd64-arm64
env:
ROOTFS_HOST_DIR: /crossrootfs/x64
ROOTFS_DIR: /crossrootfs/arm64

linux_musl_arm64:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-cross-arm64-alpine-net9.0
env:
ROOTFS_DIR: /crossrootfs/arm64

This table doesn't list biarch but an Arm64 (glibc) image that looks like the Alpine one.

https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/linux-instructions.md#docker-images

I'm guessing we need the biarch image for a specific scenario that doesn't apply to the actual product build and that the regular image would be fine for this case.

@sbomer

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Apr 30, 2024
Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

@sbomer
Copy link
Member

sbomer commented May 6, 2024

From what I could gather, the arm64 fullaot job was originally 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.

I'm trying to remove the use of the biarch image in #101946.

@sbomer sbomer self-assigned this May 6, 2024
sbomer added a commit that referenced this issue May 7, 2024
The biarch image is currently unused in our ci builds.

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.

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 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-policy-service dotnet-policy-service bot removed the untriaged New issue has not been triaged by the area owner label May 7, 2024
@richlander
Copy link
Member Author

Thanks @sbomer. Looks good!

michaelgsharp pushed a commit to michaelgsharp/runtime that referenced this issue 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 issue 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.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants