Skip to content

chore(release): add bin/release wrapper around rake release - #29

Merged
mhenrixon merged 1 commit into
mainfrom
chore/bin-release
Sep 9, 2026
Merged

mhenrixon merged 1 commit into
mainfrom
chore/bin-release

Conversation

@mhenrixon

@mhenrixon mhenrixon commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Ports the bin/release script from pgbus (same shape as kamal/trix/cosmos) so cutting a release is one command instead of working out the version by hand.

  • bin/release → patch bump, bin/release minor|major, or bin/release 0.4.0 (v-prefix optional)
  • bin/release list → last 5 tags + what each bump would give
  • bin/release --dry-run (-n) → prints current/next version and the commits since the last tag, publishes nothing
  • bin/release --force (-f) → passes force through to re-cut an existing tag
  • Guards: must be on a clean main that matches origin/main; refuses an existing tag without --force; warns if version.rb and the newest tag disagree
  • Confirms, then exec bundle exec rake "release[X.Y.Z]" — the existing Rakefile task is unchanged and still does the bump/docs-lockfile pin/build/commit/push/gh release create

Also points CLAUDE.md and .claude/rules/git-workflow.md at bin/release as the entry point.

Test plan

  • bin/release --help prints usage
  • bin/release list shows v0.3.0…v0.2.6 and patch/minor/major = v0.3.1/v0.4.0/v1.0.0
  • bin/release minor -n prints the commit log since v0.3.0 and exits without bumping
  • bin/release bogus exits 1 with "unknown argument"
  • shellcheck clean; bundle exec rubocop lib spec clean
  • Next real release: bin/release from main and confirm it hands off to rake release as before

https://claude.ai/code/session_011iBGuPiNBuk4HHq2CcQDXi


Summary by cubic

Adds bin/release, a wrapper around rake release, so cutting a release is one command instead of computing the version by hand. The rake release[X.Y.Z] task is unchanged; bin/release computes the next version, shows the commits since the last tag, asks for confirmation, then hands off to it. Also points CLAUDE.md and .claude/rules/git-workflow.md at bin/release as the release entry point.

Usage

  • bin/release does a patch bump; pass minor, major, or an explicit X.Y.Z (v-prefix optional).
  • bin/release list shows recent tags and what each bump would give.
  • --dry-run/-n previews the version and commits without publishing; --force/-f re-cuts an existing tag.
  • Refuses to run off a dirty or out-of-date main, or when the tag already exists without --force.

Written for commit a270843. Summary will update on new commits.

Review in cubic

Ported from pgbus. Computes the next patch/minor/major (or takes an explicit
X.Y.Z), prints the commits since the last tag, refuses to run off a dirty or
out-of-date main, asks for confirmation, then execs `rake release[X.Y.Z]`
(with `,force` when --force is passed). `list` shows recent tags and what each
bump would give; `--dry-run` previews without publishing.

Claude-Session: https://claude.ai/code/session_011iBGuPiNBuk4HHq2CcQDXi
@cubic-dev-ai

cubic-dev-ai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Running ultrareview automatically — This adds a new release automation script that computes versions and drives git operations; a subtle bug in version parsing or guards could cause a mis-tagged or unintended release, so a deeper review is warranted.. I'll post findings when complete.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 9, 2026

Copy link
Copy Markdown

cubic can't run this ultrareview because your workspace has reached its monthly review limit. cubic has reviewed 121,023 of the 120,000 allowed lines of code this month. Reviews resume on 10 September 2026 (in 1 day). You've reached your flex budget. Increase your flex budget to resume reviews now, or learn how flex capacity spend limits work.

To help optimise your usage, you can tune cubic to get the most out of your usage limits:

Learn more →

@mhenrixon mhenrixon added the enhancement New feature or request label Sep 9, 2026
@mhenrixon
mhenrixon merged commit 1e5eb41 into main Sep 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant