The Google Ruby GAX project uses semantic versioning. Replace the <prev_version>
and <version>
placeholders shown in the examples below with the appropriate numbers, e.g. 0.1.0
and 0.2.0
.
After all pull requests for a release have been merged and all Travis builds are green, you may create a release as follows:
-
If you haven't already, switch to the master branch, ensure that you have no changes, and pull from origin.
$ git checkout master $ git status $ git pull <remote> master --rebase
-
Build the gem locally. (Depending on your environment, you may need to
bundle exec
to rake commands; this will be shown.)$ bundle exec rake build
-
Install the gem locally.
$ bundle exec rake install
-
Using IRB (not
rake console
!), manually test the gem that you installed in the previous step. -
Update the
CHANGELOG.md
. Write bullet-point lists of the major and minor changes. You can also add examples, fixes, thank yous, and anything else helpful or relevant. See google-cloud-node v0.18.0 for an example with all the bells and whistles. -
Edit
lib/google/gax/version.rb
file, changing the value ofVERSION
to your new version number. This repo requires a PR for all changes so doing this in a branch is best. -
Run the tests, one last time.
$ bundle update $ bundle exec rake spec
-
Commit your changes. Copy and paste the significant points from your
CHANGELOG.md
edit as the description in your commit message.$ git commit -am "Release google-gax <version> ..."
-
Tag the version after all changes have been merged.
$ git tag google-gax/v<version>
-
Push the tag.
$ git push <remote> google-gax/v<version>
-
Wait until the Travis build has passed for the tag.
-
Push the gem to RubyGems.org.
$ gem push google-gax-<version>.gem
-
On the gax-ruby releases page, click Draft a new release. Complete the form. Include the bullet-point lists of the major and minor changes from the gem's
CHANGELOG.md
. You can also add examples, fixes, thank yous, and anything else helpful or relevant. -
Click
Publish release
. -
Wait until the last tag build job has successfully completed on Travis. Then push your commits to the master branch. This will trigger another Travis build on master branch.
$ git push <remote> master
High fives all around!