読者です 読者をやめる 読者になる 読者になる

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 で書いた記事