dotnet / docker-tools

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

Support matrix trimming in pipeline #1459

Closed mthalman closed 1 month ago

mthalman commented 1 month ago

Contributes to https://github.com/dotnet/docker-tools/issues/1417

This updates the pipeline infra to make use of the new matrix trimming logic from https://github.com/dotnet/docker-tools/pull/1449.

Matrix generation now requires some of the same variables as the build because they now both need to access the image info file from the versions repo. So a lot of the changes here are to refactor the templates so that both the build and "generate matrix" jobs can share the same logic for computing variables.

The trimming behavior is opt in by setting a trimCachedImagesForMatrix variable. Trimming is explicitly not enabled for the test stage.

Due to some weird behavior from AzDO, I had to refactor how the repos get cloned in these two stages. For whatever reason, it wasn't allowing me access the repo name from a parameter within the job template. So that's been factored out into a parameter that gets passed in from the stage template.

dotnet-issue-labeler[bot] commented 1 month ago

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

dotnet-issue-labeler[bot] commented 1 month ago

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.