Repository navigation
fix(scripts): tag each module on the commit that introduced its version - #1168
Merged
Merged
Conversation
35C4n0r
approved these changes
Oct 9, 2026
matifali
enabled auto-merge (squash)
October 9, 2026 07:03
matifali
disabled auto-merge
October 9, 2026 07:04
tag_release.sh tagged every module on HEAD, so a bulk release run after several merges pointed all tags at the same commit. Walk each README's first-parent history instead and tag the commit that introduced the module's current version. Falls back to HEAD with a warning on shallow clones.
matifali
force-pushed
the
fix/tag-release-on-merge-commit
branch
from
October 9, 2026 07:04
e9dd1a1 to
4fe4611
Compare
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.
Description
tag_release.shtagged every untagged module on the currently checked-out commit (HEAD). In a bulk release, where several modules merged since the last run, every tag pointed at the same commit, and that commit could include changes newer than the version being tagged.It now walks each module README's first-parent history, newest first, and tags the commit where the module block's
versionbecame the current value. With squash merges that is the PR's merge commit. The commit is resolved while scanning, so the "Tags to be created" list showstag -> shaand--dry-runpreviews the real targets.The script never checks out anything (it tags by SHA), so the working tree and HEAD are unchanged after a bulk run.
Notes:
MAINTAINER.mdupdated: no more checking out the merge commit first.Type of Change
Testing & Validation
bun test) (no tests cover this script)bun fmt)--dry-runover all modules, and the commit lookup againstjetbrains(revert/re-bump),jfrog-token,antigravity,vault-tokenReal run
Ran from this branch on macOS (after a dry run on macOS and on a Linux dogfood workspace, bash 5.3 / git 2.53, with matching output). It tagged the four pending modules, each on the commit that introduced its version. With the old script, all four would have pointed at HEAD (
f21e23b2).release/coder/agent-relay-claude-code/v0.2.084519820release/coder/aibridge-proxy/v1.0.16f894e74release/coder/jfrog-oauth/v1.4.0f21e23b2release/coder/jfrog-token/v1.4.0f21e23b2Pushed in two batches (3 + 1), 4 created, 0 failed.
Related Issues
None
Generated with Claude Code using Claude