Add tag_release.sh for creating final (non-RC) release tags#1663
Open
skrawcz wants to merge 1 commit into
Open
Add tag_release.sh for creating final (non-RC) release tags#1663skrawcz wants to merge 1 commit into
skrawcz wants to merge 1 commit into
Conversation
After a release vote passes and the release branch is squash-merged to main, the canonical release should be tagged with a clean, RC-less name (<package>-v<version>-incubating) on the merge commit. Previously the only tag was the -RC tag from the RC build, which points at an off-main commit and makes a poor GitHub release name (flagged by ASF mentors). - scripts/tag_release.sh: create + optionally push the annotated final tag; validates the package name, warns if the target commit isn't on main, refuses to clobber an existing tag, and leaves the -RC tag intact. - scripts/README.md: add step 7 (create final release tag) to the finalize sequence and list the script in the scripts table.
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.
Problem
During an RC build,
apache_release_helper.pycreates a tag like<package>-v<version>-incubating-RC<rc>pointing at the commit the artifactswere built from — typically a version-bump commit on the release branch, which
is not reachable from
main. After the vote passes and the release branch issquash-merged, there was no documented step to create a clean, RC-less release
tag on the mainline commit.
This left two gaps (both flagged by ASF mentors on prior releases):
-RCone, which points at an off-main commit.-RC-suffixed tags make poor GitHub release names.Changes
scripts/tag_release.sh— creates an annotated<package>-v<version>-incubatingtag on a target commit (default
HEAD; typically the logical mainline commit therelease was cut from). It:
main,-RCtag(s) as the record of what was voted on,--commit <sha>,--remote <name>, and--push.scripts/README.md— adds step 7 (create the final release tag) to thepost-vote finalize sequence, with a multi-package example, and lists the script
in the scripts table.
Notes
The original
-RCtag is intentionally left intact as the immutable record ofexactly what was voted on. This was used for the recent
apache-hamilton-{sdk,lsp,ui,contrib} sub-package releases — the final
-incubatingtags now point at the logical mainline commit, consistent with howapache-hamilton-v1.90.0-incubatingis tagged.