Travis CI で CHANGELOG.md を更新しないとErrorを吐くようにする

説明

雑に作りました develop ブランチとプルリクエストを比較して CHANGELOG.md に変化がなければ強制的に fail させます これをビルドや環境構築する前に入れるとささっとはじいてくれます 例ではいろいろと面倒なのでビルドする前にチェックしてます

コード

#coding: utf-8
require 'open3'

desc 'Travis CI 環境で Android のビルドを行う'
task :build do
  unless ENV['TRAVIS_PULL_REQUEST'] == 'false'
    if Rake::Task['travis:checkChangeLog'].execute()
      sh('echo "ここでいろいろできます"')
    end
  end
end

desc 'CHANGELOG.md の更新有無をチェック'
task :checkChangeLog do
  sh('git fetch')
  unless ENV['TRAVIS_PULL_REQUEST'] == 'false'
    o, e, s = Open3.capture3('git diff --name-only HEAD remotes/origin/develop -- CHANGELOG.md')
    unless o.include?('CHANGELOG.md')
      fail 'CHANGELOG.md を更新しましょう'
    end
  end
end
script:
- rake build

おわりに

自分でもよくCHANGELOGを書き忘れるのでとても助かってます

Qiita で書いた記事