C++の場合は、一回のビルド・テストに非常に時間がかかるので、ビルドを減らしたい場合がある。 Travis CIでは、設定で
Build pushs- push時にビルド
Build pull requests- pull request 時にビルド
がある。 両方ONにすると、PR時に2回ビルドが走ることになる。 Travis CIの場合この2回のビルドは同じビルドではないが、PRのビルドだけ通れば十分である場合が多い。 以下のような設定を実現する方法を記載する。
- PRでのbranchは全てビルド
- pushでのビルドはmaster branchのみ
単純にBuild pushsをoffにすると、merge後のmasterのビルドが行われずに、badgeが更新されない。
補足
PRのビルドはmaster branchへのmerge後のビルドをしているので、pushのビルドとは異なる。
Travis CIが裏でmergeのコミットを作成し、ビルドしている。
方法
Travis CIの設定から以下をONにする。
Build pushsBuild pull requests
.travis.ymlに以下を記載する。
branches: only: # branchs through PR are built - master