Release process

Uwe Kubosch edited this page Jan 21, 2016 · 75 revisions
Clone this wiki locally

Ruboto is released as a RubyGem. We plan to release minor level versions when JRuby or Android have a minor release or we have a new killer feature, and patch level versions whenever JRuby or Android have a patch level release or we have important bug fixes. Usually there is a release every month.

Plan a release

Milestone and Issues

Create a GitHub Milestone with the name of the release version and set the planned release date. Issues in the issue tracker should be marked with the upcoming version as Milestone. This will help in writing the release doc. We use Semantic Versioning.

Before release

Check contributions

Check the GitHub Pull Requests to see if there are changes to pull from forks.


All issues for the upcoming version should be closed or moved to a later version before release is performed.

TODO/FIXME markers

All TODO/FIXME should be reviewed and either removed, fixed, or postponed.

Automated tests Build Status

All the automated tests should be green. Tests are run with rake test, ./ or ./
A matrix build has been set up at .

Update the milestone description

Before generating the release docs update the general description and date of the release.


The milestone description will be inserted in the release docs.

Release Candidate (optional)

To enable testing of the release, we sometimes create a release candidate. This is a proper gem marked as a pre-release with version M.m.p.rc.x where x starts at 0.

Example: 0.3.0.rc.0

You can generate a release candidate announcement with

rake release_docs

Announce the release candidate at least on the Ruboto mailing list.


All the tutorials should be tested with the release candidate before final release. At the top of each tutorial, the tester should make a note of the version with which the tutorial has been tested.


The gem is released to ( ) with

rake release

Post release announcement

The release task automatically posts the release blog post on

The release announcement should include the short description of Ruboto, the list of features and bugfixes in this release, and how to install and use Ruboto.

You can generate a text version of the release doc with the release_docsrake task.

rake release_docs

Input your GitHub user name, password, and the GitHub milestone number.

Release announcement should be posted on

Related apps

These apps should be released based on the new Ruboto release if there are relevant changes to Ruboto or JRuby.

  • RubotoIRB
  • RubotoCore
  • RubotoBenchmarkClient