ci(release): check out the tag in real mode#175
Merged
Conversation
The release job's actions/checkout had no ref, so it pulled the orchestrator's dispatch commit — the PARENT of the bump commit pushed seconds earlier. The changelog at that ref does not yet contain the new version's section, so the awk extractor errored. Pin checkout to inputs.tag in real mode (where the bump commit created the tag). In dry-run the tag does not exist; fall back to the caller's ref.
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
Real-release run 26256735180 failed at the
releasejob. TheExtract changelog sectionstep couldn't find## v0.25.0becauseactions/checkouthad noref:— so it checked out the orchestrator's dispatch commit, which is the parent of the bump commit just pushed by thebumpjob. The changelog at that point doesn't have the v0.25.0 section yet.State after the failed run
v0.25.0: pushed to remoteFix
Pin
release.yaml's checkout toinputs.tagin real mode. In dry-run the tag doesn't exist on the remote; fall back to the caller's ref (the dry-run code path already tolerates a missing changelog section with a placeholder).Recovery after merge
```
gh workflow run release-pipeline.yaml --ref main \
-f skip_bump=true -f tag=v0.25.0 -f dry_run=false
```
This goes resolve → (skip bump) → release → publish → merge. The bump is already done; we just need to finish the rest against the existing tag.
Test plan