dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.65k stars 1.06k forks source link

Family "ARM64v8" (only) pointing to "noble-arm64v8" #42162

Open brmassa opened 2 months ago

brmassa commented 2 months ago

Describe the Problem

If we use the image without any family, it will pull the suggested "official" distro (at the moment, Ubuntu Noble), despite having other distros. In case the suggested/official distro changes, we all get it by default.

It would be nice to have a similar peace of mind by using "arm64v8" family. It should point to (for 8.0, Ubuntu Noble ARM64v8), but it would allow users not care about the Ubuntu distro on each DotNet version.

regards Bruno Massa

mthalman commented 2 months ago

It's not exactly clear what you mean by "family". It would be helpful if you can help clarify your request by referencing actual tag names, both for what we have today and what you are proposing to have.

To be clear, our default Linux distro is Debian, not Ubuntu. So any tag you use which doesn't specific a distro name will be giving you Debian (e.g. the 8.0 tag will give you Debian 12 (Bookworm)).

richlander commented 2 months ago

Are you talking about ContainerFamily for SDK container publish?

@baronfel

brmassa commented 2 months ago

@mthalman , in fact, it's Debian Bookworm indeed. Anyway, by calling docker pull mcr.microsoft.com/dotnet/sdk or docker pull mcr.microsoft.com/dotnet/sdk:8.0 automatically pulls 8.0-bookworm-slim. It would be be nice to have a sdk:arm64v8 and sdk:8.0-arm64v8 that would point to bookworm-slim-arm64v8. Today, we have to explicitly choose the distro among jammy, noble, bookworm-slim, etc...

@richlander , yes. --ContainerFamily in dotnet publish. Same as above, I would like to only mention the arch arm64v8 and it would automatically pull the default distro.

richlander commented 2 months ago

Can you show us the commands you are running? If you are using SDK publish, I would assume that passing '--arch arm64' would do what you want. No?