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

  • 0
    いいね
  • 0
    コメント

    説明

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

    コード

    Rakefile
    #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
    
    .travis.yml
    script:
    - rake build
    

    おわりに

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