Ralph-orchestrator release-bump

Use when bumping ralph-orchestrator version for a new release, after fixes are committed and ready to publish

install
source · Clone the upstream repo
git clone https://github.com/mikeyobrien/ralph-orchestrator
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mikeyobrien/ralph-orchestrator "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/release-bump" ~/.claude/skills/mikeyobrien-ralph-orchestrator-release-bump && rm -rf "$T"
manifest: .claude/skills/release-bump/SKILL.md
source content

Release Bump

Overview

Bump version and trigger release for ralph-orchestrator. All versions live in workspace

Cargo.toml
- individual crates inherit via
version.workspace = true
.

Confirm the new version with the user. Once the bump commit is pushed, track progress of the release.

Quick Reference

StepCommand/Action
1. Bump versionEdit
Cargo.toml
: replace all
version = "X.Y.Z"
(7 occurrences)
2. Build
cargo build
(updates Cargo.lock)
3. Test
cargo test
4. Commit
git add Cargo.toml Cargo.lock && git commit -m "chore: bump to vX.Y.Z"
5. Push
git push origin main
6. Tag
git tag vX.Y.Z && git push origin vX.Y.Z

Version Locations (All in Cargo.toml)

# Line ~17 - workspace version
[workspace.package]
version = "X.Y.Z"

# Lines ~113-118 - internal crate dependencies
ralph-proto = { version = "X.Y.Z", path = "crates/ralph-proto" }
ralph-core = { version = "X.Y.Z", path = "crates/ralph-core" }
ralph-adapters = { version = "X.Y.Z", path = "crates/ralph-adapters" }
ralph-tui = { version = "X.Y.Z", path = "crates/ralph-tui" }
ralph-cli = { version = "X.Y.Z", path = "crates/ralph-cli" }
ralph-bench = { version = "X.Y.Z", path = "crates/ralph-bench" }

Tip: Use Edit tool with

replace_all: true
on
version = "OLD"
version = "NEW"
to update all 7 at once.

What CI Does Automatically

Once you push the tag,

.github/workflows/release.yml
triggers and:

  1. Creates the GitHub Release with auto-generated notes
  2. Builds binaries for macOS (arm64, x64) and Linux (arm64, x64)
  3. Uploads artifacts to the GitHub Release
  4. Publishes to crates.io (in dependency order)
  5. Publishes to npm as
    @ralph-orchestrator/ralph

Common Mistakes

MistakeFix
Only updating workspace.package.versionMust update all 7 occurrences including internal deps
Forgetting to run testsAlways
cargo test
before commit
Creating release manually with
gh release create
Just push the tag - CI creates the release with artifacts
Pushing tag before mainPush main first, then push the tag