Repository navigation
ci(publish): create a GitHub Release for each version - #9
Merged
Merged
Conversation
Adds a third Publish job that creates a GitHub Release (tag `vX.Y.Z` plus auto-generated notes and an npm install line) for every version on npm that lacks one, so versions show under Releases on the repo page. Each release is tagged at the commit that released the version: the first commit on main (first-parent) whose package.json carries it. Because it works from the list of npm versions rather than only the current one, the first run backfills 0.1.0 through 0.3.1, and a missed or failed run heals on the next. It runs after the npm job, so only versions that reached npm get a release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015XnPdQXFWDT6FTnQs1d1f1
lonetis
marked this pull request as ready for review
October 20, 2026 13:25
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Summary
Adds a
github-releasejob topublish.ymlthat creates a GitHub Release for each version, so versions appear under Releases on the repo page next to the Packages entry from #8.Coverage: every version on npm that doesn't have a release yet gets one, not just the current version. The first run on
mainbackfillsv0.1.0,v0.2.0,v0.3.0andv0.3.1. If a run is ever missed, the next one catches up.Commit: each tag
vX.Y.Zis placed on the commit that released that version: the first commit onmain(first-parent) whosepackage.jsonhas it. For the existing versions:v0.1.01de7240v0.2.0a6d9b63v0.3.05b563d2v0.3.165083e0Notes: GitHub's auto-generated notes (merged PRs plus a "Full Changelog" compare link), preceded by a line linking the npm version with its
npm installcommand.Order: releases are created oldest first, so the newest version is marked Latest.
Safety: the job runs after the npm job (
needs: publish), so only versions that reached npm get a release. It needscontents: write, set on this job only, and uses the built-inGITHUB_TOKENthroughgh.CLAUDE.md's publishing section describes the new job.Verification
actionlint1.7.7 with shellcheck reports no issues forpublish.ymlandci.yml.bash -e, as GitHub runs it, against the real git history and the real npm version list, with a fakeghthat pretendedv0.2.0already existed. It skippedv0.2.0and printed thegh release createcalls forv0.1.0,v0.3.0andv0.3.1with the commits and notes above.publish.yml. The first real run is the push tomainwhen this merges.Generated by Claude Code