dotnet / dnceng

.NET Engineering Services
MIT License
24 stars 19 forks source link

Add pipelines to 1ES pipeline template pre-release validation #2360

Open riarenas opened 8 months ago

riarenas commented 8 months ago

1ES offers the ability to onboard customer pipelines to their pre-release validation. Once there is a new version of the pipeline templates, 1ES will run all the validation pipelines that they know about, and will not promote a prerelease version of the templates unless all validations succeed.

We should either find, or create a pipeline to onboard to this flow.

1ES documentation for this feature

Release Note Category

riarenas commented 8 months ago

How to select a pipeline to opt-in to the pre-release validation?

To opt-in, your pipeline:

  • Should not be a production pipeline that deploys to your prod environments
  • Should not trigger any other release pipelines downstream
  • Should not upload nuget packages or deploy to any test environments
  • Should not publish azure devops extensions
  • Can produce pipeline artifacts

Typically the pipelines that are used in your pull-requests are most suited for our pre-release validation.'

We cannot use any PR pipelines for this in our environment, as we don't use the templates there.

My initial sense is that Arcade-validation seems like a good candidate here.

riarenas commented 8 months ago

The steps here are:

  1. Pick a pipeline
  2. Add the 1ES service principal to the AzDO organization where the pipeline runs and let it queue the pipeline
  3. Let the 1ES team know we want to use this as a validation pipeline

I'll start working on 2. While I run some experiments to make sure that arcade-validation is the best candidate.

The fact that it will trigger the build promotion pipeline and possibly move builds to the BAR makes it seem like it's probably not the best candidate.