ci: auto-move the vN major tag on release#19
Merged
Conversation
The reusable workflows are consumed via `uses: …@vN`, which only delivers minor/patch updates if the floating vN tag is force-moved to each new release. That has been manual; a single missed move silently freezes every @vn consumer on old code. This workflow moves the major tag automatically on every stable vX.Y.Z tag push (mirrors how actions/checkout maintains v4), skipping prereleases so @vn never lands on an rc. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BZx7w9BexQc9wWU5JoHYaF
Add a "Releasing" section stating that move-major-tag.yml auto-moves vN on each stable vX.Y.Z tag, so releases are just tag+push with no manual force-move. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BZx7w9BexQc9wWU5JoHYaF
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.
What
Adds
.github/workflows/move-major-tag.yml— on every stablevX.Y.Ztag push, it force-moves the floating major tag (v1.7.0→v1) to that release.Why
The reusable workflows are consumed via
uses: …@v1. That strategy only delivers minor/patch updates ifv1keeps getting force-moved to each newv1.x.y. Until now that's been manual (it's whyv1 == v1.7.0today). The failure mode is quiet and nasty: one missed move and every@v1consumer silently freezes on old code while believing they're current — arguably worse than an explicit pin. This is the standard fix (howactions/checkoutmaintainsv4).Behavior
pushof tags matchingv*.*.*.^v[0-9]+\.[0-9]+\.[0-9]+$, so prereleases (v1.2.3-rc1) and non-release tags are skipped —@vNnever lands on an rc. Verified:v1.7.0/v1.7.10/v2.0.0move;v1.7.0-rc1/v1.7/v1/latestskip.contents: writepermission to push the tag;concurrencygroup serializes release pushes.Once merged, the manual
git tag -f v1 …step drops out of the release ritual.🤖 Generated with Claude Code
https://claude.ai/code/session_01BZx7w9BexQc9wWU5JoHYaF