Skip to content

ci: adopt rust-gem-release@0.11.0 publish workflow (version box + dry-run)#26

Merged
cpetersen merged 1 commit into
mainfrom
ci/version-box-dispatch
Jun 20, 2026
Merged

ci: adopt rust-gem-release@0.11.0 publish workflow (version box + dry-run)#26
cpetersen merged 1 commit into
mainfrom
ci/version-box-dispatch

Conversation

@cpetersen

Copy link
Copy Markdown
Member

Standardizes this gem's publishing on the shared rust-gem-release@0.11.0 reusable workflow (the same one the Rust gems use), with the three native build legs turned off — so only the Rust-free source-gem job runs (gem build + gem push + GitHub Release, all on ubuntu-24.04). Replaces the previous hand-rolled release.yml.

Three ways to release, all from one file:

  • CLI: git tag X && git push --tags
  • version box: Actions → Run workflow → type a version (+ check publish) → it bumps lib/ragnar/version.rb, commits, tags, and publishes in one run
  • dry-run: Run workflow with version blank → builds the gem, no publish

Behavior changes vs the old workflow: publishing to RubyGems is now opt-in on dispatch (the old workflow always published when you ran it); the version input is now optional (blank = build-only dry-run); and it gains a CLI tag-push path it didn't have before.

⚠️ This PR does not bump the gem version — per policy this is a CI-only change, so release with a patch bump (via the box or a tag).

Note: Naming quirk preserved: gem-name is ragnar-cli (published name) but the gemspec file is ragnar.gemspec and the version module is Ragnar. gem-name drives the RubyGems push glob; gemspec input points at ragnar.gemspec.

Companion to the merged rust-gem-release feature (bump-on-dispatch) and the org-wide publish standardization.

…-run)

Replaces the hand-rolled release workflow with the org-standard shared workflow
(native legs off — pure-Ruby source gem only). Adds three release paths: CLI tag
push, a 'type a version in a box' workflow_dispatch, and a version-less dry-run.
Behavior change: publishing to RubyGems is now opt-in on dispatch (was
unconditional); the version input is optional (blank = dry-run). This PR does NOT
bump the gem version.

Naming quirk preserved: gem-name is `ragnar-cli` (published name) but the gemspec file is `ragnar.gemspec` and the version module is `Ragnar`. gem-name drives the RubyGems push glob; gemspec input points at ragnar.gemspec.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cpetersen cpetersen merged commit 5d8d937 into main Jun 20, 2026
1 check passed
@cpetersen cpetersen deleted the ci/version-box-dispatch branch June 20, 2026 02:52
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