Fail fast when no packages selected for manual release build#48465
Open
Fail fast when no packages selected for manual release build#48465
Conversation
When manually triggering a release pipeline, if no release_* parameters are checked, the pipeline would run through expensive build and signing steps before eventually failing at Create-APIReview.ps1. This is common since 112 of 156 service CI files have all release parameters defaulting to false. Add a compile-time validation step as the first step of the Build job that immediately fails with a clear error message when all three conditions are met: internal project, manual trigger, and no release artifacts selected. The step is not injected for PR, CI push, or scheduled builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an early validation guard to Azure DevOps CI job templating to prevent manual internal release runs from proceeding when no release packages were selected, avoiding wasted build/sign/publish work and surfacing a clearer error sooner.
Changes:
- Injects a conditional first step in the
Buildjob that fails when the run isinternal+Manual+ReleaseArtifactsis empty. - Emits a clearer, actionable error message for the “no packages selected” scenario.
You can also share your feedback on Copilot code review. Take the survey.
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.
Problem
When manually triggering a release pipeline, users often forget to check any
release_*parameters. This is especially common since 112 of 156 service CI files have all release parameters defaulting tofalse. The pipeline runs through expensive build, signing, and publishing steps before eventually failing atCreate-APIReview.ps1with:This issue happened quite often by service teams.
Solution
Added a compile-time validation step as the first step of the Build job in
eng/pipelines/templates/jobs/ci.yml. It checks three conditions at template expansion time:releaseInBatchWhen all three are true, the step is injected and immediately fails with a clear error message — before any checkout, Maven build, signing, or publishing steps run.
Impact