serverspec とか specinfra の Changes を手で書くのがだるくなってきたので、自動化するために octorelease という gem をつくりました。
rubygems.org にもあげてあるので、gem install で入ります。
Rakefile の中に
require "bundler/gem_tasks"
require "octorelease"
みたいに書いて、
$ rake octorelease
すると、 こんな感じになります。
何をしてるかというと、rake release
した後に、前のバージョンとリリースするバージョンの間に含まれるプルリクエストをgit log
で拾って、各プルリクエストに Released as vX.X.X.
とコメントをつけ、GitHub 上にリリースを作成し、リリースの本文にはプルリクエストへリンクを張る、ってなことをやってます。
プルリクへのコメントはこんな感じでつきます。
これは、プルリクしてくれた人に対して、リリースしたよ、ということを知らせるために、以前から手動でコメントしてたんですが、ルーチンワークなので自動でやるようにしました。
リリースはこんな感じで作られます。
同僚の linyows 作の capistrano-github-releases インスパイアです。