dotnet / dotnet-buildtools-prereqs-docker

Used to maintain the Docker images hosted at the mcr.microsoft.com/dotnet-buildtools/prereqs image repository
MIT License
53 stars 98 forks source link

Pin debootstrap to tag 1.0.134 and fix azurelinux 3.0 build #1104

Closed am11 closed 1 week ago

am11 commented 1 week ago

While https://github.com/microsoft/azurelinux/pull/9422 is under review, we can pin it to ubuntu1 release tag.

We also need to add some more dependencies since azurelinux 3.0 rebuilt their packages and now doesn't install some transitive dependencies anymore.

am11 commented 1 week ago

cc @akoeplinger @sbomer once upstream PR is merged and package is published, we can delete this entire RUN step.

BTW, they have 350+ PRs opened, so maybe someone could internally ask them to get debootstrap package updated for dotnet infra? Last update on their 2.0 branch is one year old so it's on-demand thing.

am11 commented 1 week ago

Looks like we hit an unrelated networking issue:

#5 [2/2] RUN tdnf install -y         awk         build-essential         ca-certificates         git         icu         rpm-build         ruby         shadow-utils         tar         util-linux         sudo     && tdnf clean all     && gem install fpm
#5 0.262 Loaded plugin: tdnfrepogpgcheck
#5 0.271 Refreshing metadata for: 'Azure Linux Official Preview 3.0 x86_64'
#5 0.684 Refreshing metadata for: 'Azure Linux Official Microsoft Non-Open-Source Preview 3.0 x86_64'
#5 0.798 awk package not found or not installed
#5 0.798 Error(1011) : No matching packages
am11 commented 1 week ago

Looks like azure linux is having a down time. From local:

$ docker run --rm azurelinuxpreview.azurecr.io/public/azurelinux/base/core:3.0 tdnf install -y git  
Loaded plugin: tdnfrepogpgcheck
Refreshing metadata for: 'Azure Linux Official Preview 3.0 aarch64'
Refreshing metadata for: 'Azure Linux Official Microsoft Non-Open-Source Preview 3.0 aarch64'
git package not found or not installed
Error(1011) : No matching packages
akoeplinger commented 1 week ago

Seeing the same here. @mthalman do we have some contacts on the azurelinux team we can ping?

akoeplinger commented 1 week ago

It seems it doesn't affect all packages, e.g. wget can still be installed. I sent an email to an internal mailing list I found.

am11 commented 1 week ago

Fingers crossed. Looks like mostly dotnet org is using their docker image in CI https://github.com/search?q=azurelinuxpreview.azurecr.io&type=code. Based on these stats, priority could be low.

mthalman commented 1 week ago

Yeah, they're repopulating their packages. So we just need to wait.

akoeplinger commented 1 week ago

I got confirmation that the repo rebuild is done now, but we're still seeing a failure:

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".

It looks like make is no longer installed as a dependency by the packages we install in https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/69649a0c41a0e2c96eb8979ddb63b78ff76fe536/src/azurelinux/3.0/net9.0/crossdeps-builder/amd64/Dockerfile#L3

We can probably just add it but now I'm wondering what other packages we're missing.

akoeplinger commented 1 week ago

I was able to grab the packages which were installed from an earlier CI log and diffed it with the current one: https://gist.github.com/akoeplinger/c98960652058673a3ee8734660be6802

I don't think we need any of those except make? edit turns out we need gcc too or the llvm build fails.

am11 commented 1 week ago

Cherry-picked your commits here for green CI (for some reason, they both need each other now 🤷‍♀️).

am11 commented 1 week ago

Looks like we also need npm now that nodejs doesn't transitively pull it.

am11 commented 1 week ago

@akoeplinger green build! 🙏 😅