- Create a list of all the changes since the prior release
- Compare the latest release to master using https://github.com/octokit/octokit.rb/compare/`${latest}`...master
- Open the linked pull requests from all the
Merge pull request #...
commits - For all non-documentation PRs, copy title (including pull request number) into markdown list items
- (optional, but nice) Sort into logical buckets, like "support for additional endpoints", "enhancements", "bugfixes"
- Reorganize to put the pull request number at the start of the line
- Ensure there are no breaking changes (if there are breaking changes you'll need to create a release branch without those changes or bump the major version)
- Update the version in
lib/octokit/version.rb
- Run
script/release
with no parameters to execute a dry run of a release - Run the
script/release -r
script to cut a release. This will perform some sanity checks on permissions, build the gem into a.gem
file, create a commit for your new version, tag the commit with the new version, push the commit and tag to GitHub and finally push the gem to RubyGems. - Draft a new release at https://github.com/octokit/octokit.rb/releases/new containing the curated changelog
In order to create a release, you will need to be an owner of the octokit gem on Rubygems.
Verify with:
gem owner octokit
An existing owner can add new owners with:
gem owner octokit --add EMAIL