Currently we use Travis is used to run tests across all forks and deploying the gems.
When a Pull Request is submitted, Travis will automatically execute all default tasks defined in the
Rakefile found in the repo root and display the results in the PR. When a committer wishes to deploy a new release the following procedure should be followed:
- Update CHANGELOG to reflect all of the changes that has happened between last release and now. The Unreleased link in the CHANGELOG gives you a nice diff.
- make sure the README is updated as neccessary.
- Update the version using semver2
- make a git release. Example with hub:
hub release create major.minor.patch
- Make sure the gem is actually uploaded to rubygems. It’s rare but I’ve seen times when it doesn’t upload for whatever reason.
- travis will only deploy if the build is passing so make sure master is building before cutting a release.
All tag commits that pass tests in all supported runtimes will kick a deploy to Rubygems.