dotnet / docker-tools

This is a repo to house some common tools for our various docker repos.
MIT License
122 stars 46 forks source link

Allow test-dependencies between arch/platform in GenerateBuildMatrix command #1177

Open lbussell opened 1 year ago

lbussell commented 1 year ago

https://github.com/dotnet/dotnet-docker/blob/f270639b443e85fe6db63fe598a4ab1eec24ff33/manifest.json#L948-L957

Currently, we offer arm32v7 native AOT images for runtime-deps but not for sdk. This means that we need to use the arm64 AOT SDK to test the arm32 AOT deps image.

When generating the PlatformVersionedOs build matrix (for tests), ImageBuilder currently groups legs by architecture/platform before integral test dependencies. We want to build and test arm32 AOT images in the same leg as arm64 AOT SDK images for the PlatformVersionedOS build matrix type. The GenerateBuildMatrix command needs changes to allow custom build leg dependencies to transcend architecture like that.

The code in question is here: https://github.com/dotnet/docker-tools/blob/0ccb9b854f816b67aae99bae0acb4775ef019a47/src/Microsoft.DotNet.ImageBuilder/src/Commands/GenerateBuildMatrixCommand.cs#L267-L276