Repository navigation
reusable-tag-on-release-merge: a manual run tags the release when the merge event is lost - #73
Merged
Merged
Conversation
… merge event is lost
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.
When GitHub never delivers the push event for a release merge, the tag and Release don't get made. audiodsp carried its own
workflow_dispatchfallback for that; this moves it into the shared workflow so every repository can use it.A caller that also triggers on
workflow_dispatchand passes two optional inputs through gets a manual path:release: a version (X.Y.Z[{a|b|rc}N|.devN]), a merge SHA, or blank forVERSIONas it stands on the default branch.dry-run: say what would be tagged and tag nothing.It tags the commit on the default branch that brought
VERSIONto that version, never an arbitrary one. It refuses a placeholder or anything outside the version grammar, a SHA that isn't that commit or isn't on the default branch, and a run from any other branch. It does nothing if the tag exists. The push path is unchanged, and callers that don't dispatch need no change; the caller shape is in the header comment of the workflow and in docs/publishing-automation.md.Checked: 27 tests in tests/test_tag_on_release_merge.py run the workflow's own shell in throwaway git repos (15 new, covering each accept and refuse case above);
ruff,shellcheckon both steps and a YAML parse are clean. Removing the commit-match check or the version-grammar check makes the tests fail. I could not run actionlint locally (the download was blocked), so CI's actionlint job is the first run of it.Not proven until a tag is cut and a repo calls the new version: the
workflow_callinput wiring, theworkflow_dispatchevent reaching the reusable, and the App-tokengh release createon this path. A dry run from a consumer repo after that is the first check.