ci: publish floating major version tag and stop committing dist#10
Merged
Conversation
Renovate's github-actions manager reads git tags, not branches, so the branch-based moving major alias (refs/heads/vN) was invisible to it; a major bump got rewritten to a pinned full version (reside-eng/workflow-templates#1403). Force-move refs/tags/vN instead of pushing refs/heads/vN, and gitignore the built dist/ (force-added to the tagged commit on release). Consume via @vn; full-version tags no longer carry dist/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
hershmire
approved these changes
Jun 2, 2026
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.
Why
Renovate's
github-actionsmanager resolves versions through the github-tags datasource, which reads git tags (refs/tags/*) only — not branches. This repo's release workflow published the moving major alias (vN) as a branch (refs/heads/vN), so Renovate never saw@vNas a trackable version:refs/tags/vN, so it rewrote consumers to a pinned full version — e.g. reside-eng/workflow-templates#1403 bumped@v1 → @v2.0.0instead of@v2.actions/checkoutworks correctly because it publishes the consumable major (v4) as a real tag.What changed
release.yml: force-moverefs/tags/vNinstead of pushingrefs/heads/vN, at the same (dist-bearing) commit.dist/removed from git + added to.gitignore: it's built on release and force-added to the tagged commit (git add --force dist).AGENTS.mdupdated to match.Behavior notes
@vN(e.g.@v2). Once avNtag exists, Renovate floats it within a major and produces clean@vN → @v(N+1)PRs across majors.vX.Y.Z) no longer carrydist/(only the major tag does), so full-version pins won't resolve a runnable bundle —@vNis the supported reference. This matches the reside-eng floating-major convention.Follow-ups (not in this PR)
refs/tags/vNat each current major-branch tip and delete the stalevNbranches (avoids ambiguous branch+tag refs).reside-eng/workflow-templatesreplace-comment-html-action@v2.0.1 → @v2(the over-pin from #1403); otherwise Renovate may bump it to a now-dist-lessv2.0.x.🤖 Generated with Claude Code