Skip to content

Push the validated release tag from the Release workflow - #109

Merged
Ashex merged 1 commit into
mainfrom
fix/release-push-validated-tag
Nov 12, 2026
Merged

Ashex merged 1 commit into
mainfrom
fix/release-push-validated-tag

Conversation

@Ashex

@Ashex Ashex commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Release run 43204598614 for v0.10.0 succeeded. Its log says Created git tags: v0.10.0 and component versions match v0.10.0, but the tag never reached GitHub.

The cause is 9441285, the Changesets v2 input rename, which set push-git-tags: 'false'. scripts/release.mjs (changeset git-tag) only tags the runner's checkout. Neither the merge-triggered path nor the tag_current_version dispatch path pushes the tag. v0.10.0 is the first release since that change.

Change

  • Add a Push validated release tag step after Validate release tag and component versions, with the same condition. It checks that v<package version> resolves to the checked-out release commit, then pushes only that tag. It doesn't force, so an existing tag on GitHub is never moved.
  • RELEASING.md now says the workflow pushes the validated tag.

The checkout already keeps the release bot token (persist-credentials: true), and the job has contents: write.

Verification

  • actionlint 1.7.7 passes on release.yml
  • The YAML parses and git diff --check is clean
  • No workflow run yet; the next release run exercises the new step

v0.10.0 itself is being tagged separately at the merged release commit e5cf67f4, which the run above validated. No changeset is included because this changes only release automation.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Release Process
    • Release tags are now pushed to GitHub after the release version and commit are validated.
  • Documentation
    • Updated the release guide to describe the tag-publishing step.

The Changesets v2 migration set push-git-tags to false, and
scripts/release.mjs only tags the runner's checkout, so the v0.10.0
release run created and validated its tag without publishing it. Push
the tag after validation, refusing a tag that does not resolve to the
checked-out release commit. A plain push never moves an existing tag.

This work was assisted by a machine
@coderabbitai

coderabbitai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The release workflow now validates the current version tag against the checked-out commit and pushes the tag to origin. The release documentation describes this step.

Changes: Release tag push

Layer / File(s) Summary
Validate and push the release tag
.github/workflows/release.yml, RELEASING.md
The workflow derives the tag from package.json, checks that the tag resolves to HEAD, and pushes it to origin. The documentation describes the validation and push.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: Minimal · up to 8c7b7

The release workflow now publishes the validated version tag and refuses to push if the tag does not match the release commit. No actionable merge-blocking risk remains.

Pre-merge checks: Passed 4

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "Push the validated release tag from the Release workflow" matches the main change. The PR adds a step to the release workflow that pushes the validated v-prefixed tag to origin. The step ru…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Push the validated release tag from the Release workflow" matches the main change. The PR adds a step to the release workflow that pushes the validated v-prefixed tag to origin. The step runs only when the tag resolves to the checked-out HEAD. RELEASING.md is updated to match. The title is specific and describes the primary change.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 36c6c742-e10b-4528-a1c4-1eacb0491715
Commits

Reviewing files that changed from the base of the PR and between e5cf67f and 8c7b72e.

Files selected for processing: 2

  • .github/workflows/release.yml
  • RELEASING.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@sonarqubecloud

Copy link
Copy Markdown

@Ashex
Ashex merged commit 3230cac into main Nov 12, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant