Releasing Kward
Kward requires Ruby >= 3.2 (spec.required_ruby_version in kward.gemspec). If you develop with a newer Ruby, verify tests pass against the minimum supported version before releasing.
Release steps before publishing:
-
Update
CHANGELOG.mdfor the version. Move[Unreleased]entries under a new version heading. -
Update
Kward::VERSIONinlib/kward/version.rb. -
Run the release preflight:
bundle exec rake release:preflightThis runs the full test suite, builds and checks the generated docs, builds a local gem, and prints the packaged file list for review.
-
Run focused tests for any areas you changed during the release prep itself (docs, config, etc.):
ruby -Itest test/test_cli.rb -
Preview docs locally if you changed documentation or public APIs:
bundle exec rake docs:serveThe preview builds
_yardoc/, serves it with WEBrick, and rebuilds in a fresh process when documentation sources, library code, or templates change. Refresh your browser after rebuilds. -
If you want to run the documentation check separately:
bundle exec rake docs:build bundle exec rake docs:checkdocs:checkvalidates generated internal links, images, and scripts. Pushes tomaindeploy the generated YARD site to GitHub Pages. You can also runbundle exec rake rdocto generate a separate RDoc site as a sanity check, but it is not deployed. -
Inspect the packaged files printed by
release:preflightand confirm no local config, sessions, logs, or secrets are included. The gemspec usesgit ls-filesand excludestest/,plan/,.ruby-lsp/,.gitignore, andAGENTS.md. -
Install the built gem locally and smoke test the
kwardexecutable in a clean workspace.
Commit the version bump and create a git tag:
git commit -am "Bump to VERSION"
git tag vVERSION
git push && git push --tags
Publish the built gem from the release checkout:
gem push kward-VERSION.gem
RubyGems MFA is required for publishing. Prefer RubyGems trusted publishing for automated releases if CI publishing is added later, so long-lived API keys do not need to be stored in CI secrets.
If a published gem has a serious problem, you can yank it within 24 hours of pushing:
gem yank kward --version VERSION
Yanking removes the gem from the default install index but does not delete the version entirely. After yanking, fix the issue, bump the version, and release again.