fix(ci): fail clearly when a dispatched tag does not exist - #50
Merged
Conversation
A manual run of the publish workflow with a tag that has not been created yet dies inside actions/checkout as "git failed with exit code 1", three retries deep, never naming the tag it wanted. Reading the raw log was the only way to see that it was looking for v1.0.0 and finding nothing. A pre-flight check now says so, and points at the actual route: merge the release pull request, which tags and publishes on its own. Dispatching a tag by hand is for re-publishing one that already exists. Also documents why the 1.0.0 cut released nothing. Release-As is only read in trailer position — the last block of the message — and it was written on the second line, above the body, where release-please treats it as prose. The log said so: "No user facing commits found since 85936e1 - skipping". Since merges here are squashed, the trailer has to be the last line of the pull request description, because that is what becomes the commit message. Release-As: 1.0.0
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.
Two things, one of which is why 1.0.0 did not publish.
The publish failure was a premature manual run
The failing job was a
workflow_dispatchwithtag: v1.0.0. That input skipsrelease-please entirely and tells the publish job to check out
v1.0.0— a tagnothing had created. The push-triggered run on the same commit succeeded.
It failed unhelpfully:
git failed with exit code 1, three retries deep, nevernaming the tag. A pre-flight check now says what is wrong and points at the
actual route.
Why the cut released nothing
Release-As: 1.0.0is only read in trailer position — the last block of themessage. In #49 it sat on the second line, above the body, where release-please
treats it as prose. So it saw a bare
chore:and did what it should:My mistake, and a subtle one: the footer was in the commit, and survived the
squash, just not in a position that counts.
Two consequences, now in CI.md:
and body — the trailer has to be the final line of this description, not
of a commit on the branch
to conjure a release out of a
chore:Hence this being a
fix(ci):. It gives release-please something user-facing torelease, and the trailer below sets the version.
Merging this should produce the release pull request for 1.0.0.
🤖 Generated with Claude Code
Release-As: 1.0.0