microsoft / dotnet-framework-docker

The repo for the official docker images for .NET Framework on Windows Server Core.
https://hub.docker.com/_/microsoft-dotnet-framework
MIT License
692 stars 332 forks source link

Move dotnet-framework-docker pipelines to 1ES Pipeline templates #1116

Closed lbussell closed 3 months ago

lbussell commented 3 months ago

This PR contains changes from https://github.com/microsoft/dotnet-framework-docker/pull/1112

Part of https://github.com/dotnet/dotnet-docker-internal/issues/4475

Server 2016 images have pipeline templates support now. This is a draft PR since validation is still running but I am fairly confident in the changes. I will submit a follow-up PR to docker-tools for the eng/common changes once validation is successful.

2016 test run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2409603&view=results 2019 & 2022 test run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2409701&view=results

Samples test run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2409869&view=results

lbussell commented 3 months ago

The server 2019 & 2022 test run had some test failures which need to be investigated. They don't seem to be intermittent.

lbussell commented 3 months ago

I updated this with samples changes since they are ready.

lbussell commented 3 months ago

Filed https://github.com/microsoft/dotnet-framework-docker/issues/1117 for the public PR validation failure that seems unrelated to this change.

lbussell commented 3 months ago

Ready for review. Rebased on latest changes from https://github.com/microsoft/dotnet-framework-docker/pull/1112. We should have a discussion about whether we want all .NET Docker repos to be using the Docker-*-Internal pools or only this repo. That will inform whether we should change what's in eng/common or not. Then I can either submit another PR to docker-tools or update this PR taking the changes out of eng/common.

Successful test run with all 3 OSes: https://dev.azure.com/dnceng/internal/_build/results?buildId=2416434&view=results

lbussell commented 3 months ago

/cc @dagood some new VM images got made for the .NET Fx repo. I saw some runs in the agent pools for golang, so I'm not sure if you're using these or the MMS-based images (like 1es-windows-20XX).

lbussell commented 3 months ago

[Triage] We can merge this and backport eng/common changes to docker-tools. It's likely these will change with https://github.com/dotnet/dotnet-docker-internal/issues/4648 anyways so it's not a big deal to apply it to all repos.

dagood commented 3 months ago

some new VM images got made for the .NET Fx repo. I saw some runs in the agent pools for golang, so I'm not sure if you're using these or the MMS-based images (like 1es-windows-20XX).

Ah, thanks. @qmuntal did wind up using Server2016-NESDockerBuilds-PT as part of updating eng/common to fix something else: https://github.com/microsoft/go-images/commit/74d0cc366ab8c8da93086d4161e286b1dc251940#diff-18a2508722ced74b4a1426f61f62289a61b4941a5e48d960c49b259ab807f411 However, we don't currently build any Windows 2016 images. 😄 Windows 1809 and 2022 use 1es-windows-2022.

If you happen to have a list of things that the custom pool/image is (known to be) needed for, it would be interesting to look through to make sure our images aren't silently broken in some way, but it seems to be working fine so far.

(I put together a PR to format our pool choices better based on what I saw in this PR, to make it easier to compare/update in the future: https://github.com/microsoft/go-images/pull/286/files.)