Expose BuildQuality parameter on the Build Promotion pipeline#17168
Draft
dsplaisted wants to merge 1 commit into
Draft
Expose BuildQuality parameter on the Build Promotion pipeline#17168dsplaisted wants to merge 1 commit into
dsplaisted wants to merge 1 commit into
Conversation
The Build Promotion pipeline (eng/promote-build.yml) always published assets with the default 'daily' build quality because it never forwarded a quality to eng/publishing/v3/publish.yml. That meant a build could only ever be promoted to the 'daily' aka.ms link quality (aka.ms/dotnet/<channel>/daily/...); there was no supported way to promote an already-built build to the 'preview' (or other) quality without re-running the release/staging process. Add a BuildQuality parameter (default 'daily') and forward it to publish.yml so an operator can promote a build to a non-daily aka.ms link quality. publish.yml already accepts buildQuality, so this only threads the existing knob through. Backward compatible: the default is 'daily', and darc add-build-to-channel does not pass this parameter, so existing promotions are unchanged. BuildQuality is parsed with a case-insensitive Enum.TryParse in PublishArtifactsInManifest, so an unexpected value safely falls back to Daily. Motivating scenario: dotnetup ships from dotnet/sdk via aka.ms/dotnet/dotnetup/<quality>/... and needs a 'preview' quality selector (with rollback by re-promoting an older build) without a rebuild. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: f118977e-1e71-40b0-8045-10f5ab006715
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Build Promotion pipeline to allow operators to choose a non-default build quality (e.g., preview) when publishing assets and creating aka.ms links, by threading an existing buildQuality parameter through to the shared publishing template.
Changes:
- Add a
BuildQualityparameter (defaultdaily) toeng/promote-build.yml. - Forward the selected
BuildQualitytoeng/publishing/v3/publish.ymlasbuildQuality.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| default: ' ' | ||
|
|
||
| - name: BuildQuality | ||
| displayName: "Build quality used when creating aka.ms links (aka.ms/dotnet/<channel>/<quality>/...):" |
mmitche
reviewed
Jul 22, 2026
| BARBuildId: ${{ parameters.BARBuildId }} | ||
| symbolPublishingAdditionalParameters: ${{ parameters.SymbolPublishingAdditionalParameters }} | ||
| artifactsPublishingAdditionalParameters: ${{ parameters.ArtifactsPublishingAdditionalParameters }} No newline at end of file | ||
| artifactsPublishingAdditionalParameters: ${{ parameters.ArtifactsPublishingAdditionalParameters }} |
Member
There was a problem hiding this comment.
This shuold alrewady be available via artifactsPublishingAdditionalParameters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Build Promotion pipeline (eng/promote-build.yml) always published assets with the default 'daily' build quality because it never forwarded a quality to eng/publishing/v3/publish.yml. That meant a build could only ever be promoted to the 'daily' aka.ms link quality (aka.ms/dotnet//daily/...); there was no supported way to promote an already-built build to the 'preview' (or other) quality without re-running the release/staging process.
Add a BuildQuality parameter (default 'daily') and forward it to publish.yml so an operator can promote a build to a non-daily aka.ms link quality. publish.yml already accepts buildQuality, so this only threads the existing knob through.
Backward compatible: the default is 'daily', and darc add-build-to-channel does not pass this parameter, so existing promotions are unchanged. BuildQuality is parsed with a case-insensitive Enum.TryParse in PublishArtifactsInManifest, so an unexpected value safely falls back to Daily.
Motivating scenario: dotnetup ships from dotnet/sdk via aka.ms/dotnet/dotnetup//... and needs a 'preview' quality selector (with rollback by re-promoting an older build) without a rebuild.