ci(release-pipeline): don't pin publish to nonexistent tag in fresh-bump dry-run#173
Merged
Merged
Conversation
The projected tag does not exist on the remote during a fresh-bump dry-run (real bump was skipped), so passing it to publish.yaml causes 'actions/checkout' to fail. Fall back to the caller's ref (main) in that case. Real releases and dry-run + skip_bump still pin to a real tag.
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.
Bug
Run 26255604817 (fresh-bump dry-run, after #172 merged) failed in publish: every wheel job's
actions/checkoutcould not resolveref: v0.25.0because the projected tag never exists on the remote in a dry-run (the real bump was skipped, as designed).Fix
In
release-pipeline.yaml, only pass the tag to publish when it's guaranteed to exist:dry_run=false): pass tag — the bump just created it.skip_bump=true: pass tag — the user supplied an existing tag, already validated byresolve.skip_bump=false): pass''— publish.yaml falls back to the caller's ref (main).This is the last known dry-run gap. The recovery-path dry-run continues to pin to the supplied tag, validating the tag-pinning code path.
Test plan
increment=auto, dry_run=trueand confirm all wheel jobs succeed.skip_bump=truedry-run still pins to the supplied tag (e.g.v0.24.1).