dotnet / dnceng

.NET Engineering Services
MIT License
25 stars 18 forks source link

Image validation policy for 1es managed images #1855

Open riarenas opened 9 months ago

riarenas commented 9 months ago

As 1ES images get rebuilt automatically when there is a base image update, we need to come up with a validation mechanism to determine whether a new image version is ready to be used by the infrastructure that it will support.

The 1ES mechanism for this are validation pipelines which will run using new versions of the image: https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-managed-images/validation

The concept is simple. Tell the image some pipelines that should run successfully when new image versions have been built, and only make that image version the default if those validations succeed.

Release Note Category

riarenas commented 8 months ago

For build images, we should determine whether we want to just point to a subset of the pipelines for the repos we support, or if we want to create specialized validation pipelines.

Thinking on this a bit more, it's not a good idea to depend on product team pipelines for this, as they can be broken by dev work. Validation pipelines should see low churn so that if we see a break, we can trust it's related to the new image version.

It's also worth noting that we currently don't have validation for build images, so anything we do in that space is already a win.