Pull Request/Merge Request時に対応して欲しい内容を表示する方法

photo credit: Jeremy Kendall via photopin cc

社内専用のGemに同僚からPull Request/Merge Requestをもらったので、コードを見たら、README.mdのContributingに書いてあることがスルーされていることが分かった。Contributingに書いている内容は公開している以下のGemと同じ内容で、

GemのREADME

1. Fork it ( https://github.com/changeworld/visio2pdf/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Execute before commit your changes (bundle exec rake)
4. Commit your changes (git commit -am 'Add some feature')
5. Push to the branch (git push origin my-new-feature)
6. Create a new Pull Request

具体的に言うと飛ばされる手順は、Pull Request/Merge Requestする前にbundle exec rakeを実行して、という部分。

bundle exec rakeではRSpecのテストと、RuboCopによるコーディング規約違反をチェックしている。

で、テストはセルフチェックしてくれているのだが、RuboCopによるコーディング規約違反のチェックをせずにPull Request/Merge Requestするので、RuboCopのチェックに引っかかってしまった。社内ルールでRubyとRuby on Railsのコーディング規約を遵守することになっているのだが、遵守しているリポジトリを見つける方が難しいくらいなので、

  1. RuboCopによるコーディング規約違反に引っかかる旨をコメント
  2. 自分で対象のブランチをチェックアウト
  3. 自分で対象のブランチにRuboCopによるコーディング規約違反にならないように変更を加え、pushする
  4. その後、マージ

という対応をこちらで行った。

どうやらREADME.mdは読まれないようなので、Pull Request/Merge Request時に対応して欲しい内容を強引に表示する方法はないものか?と調べたところ、以下の記事で対応方法が書かれていた。

特集:GitHub通のためのリニューアルまとめ – ビジネスを成功に導く5つの仕掛け | ゆっくりと…

4. コミュニティの質を高める仕掛け
4.1. 貢献時のガイドライン
リポジトリのルートに、CONTRIBUTING.md を置いておくと、Issue への書き込みや pull リクエスト時に guidelines for contributing というリンクが表示されるようになります。

お手本へのリンクがあったが、英語でそれぞれ異なる書き方だったので、時間見つけて対応する予定。