ci: no publish on branch creation / empty commit range#17
Merged
Conversation
Creating a release/* branch at an existing release commit triggered vendor
with an empty commit range (vX.Y.Z..HEAD = nothing), which fell through the
bump's default and cut a spurious version (a release/v0.6 creation published
v0.7.0). Two guards:
* skip the pipeline on branch-creation pushes (github.event.created)
* if there are no new commits since this line's latest release, skip cleanly
(ver.skip output gates the checksum/tag/publish steps) instead of bumping
Real pushes and manual dispatch are unaffected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jun 19, 2026
julian-goldstein
added a commit
that referenced
this pull request
Jun 19, 2026
After publishing, if master cut a new line (vX.Y.0), fork release/vX.Y at the same lock commit so back-ports have a home. Patches (Z>0) and flavor builds don't open a line; existing branches are left alone. Safe because the branch-creation push is ignored by the detect guard (no spurious release). Also re-applies the versions.env comment fix that was dropped when #17 merged, and updates the README back-patch section (auto-creation + name-based scoping). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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 (found live during the release-branch demo)
Creating
release/v0.6at thev0.6.0commit triggeredvendorwith an empty commit range (v0.6.0..HEAD= nothing). The bump logic fell through to its default and cut a bogusv0.7.0off the release branch. (Already cleaned up.)Fix
detectwithgithub.event.created, so pushing a new branch never publishes. Normal pushes + manual dispatch still run.ver.skipand gate the checksum/tag/publish steps, instead of bumping. Defense-in-depth (covers re-runs / dispatch on an unchanged tip).Verified via simulation: empty range → skip; back-patch (release default) →
v0.6.1; master minor/patch/major all correct.On merge
Unmarked subject → master defaults to minor →
v0.7.0, cleanly diverging master onto the 0.7 line whilerelease/v0.6keeps thev0.6.xmaintenance line. That's the intended end state (and avoids master stealing the maintenance line's patch numbers — don't use[bump:patch]on master once arelease/vX.Ybranch exists).