Travis CI で Ruby 2.2 以下と gem install bundler (< 2.0) を組み合わせる

Bundler 2.0 は Ruby 2.3 以上のサポートとなるため、Ruby 2.2 以下をサポートする Gem などで Travis CI の Ruby 2.2 マトリックスgem install bundler を実行して Bundler 2.0 を取得しようとするとエラーになる。

このエラーを回避する場合は || を使って旧バージョンにフォールバックするなどする。

before_install:
  - travis_retry gem update --system || travis_retry gem update --system 2.7.8
  - travis_retry gem install bundler --no-document || travis_retry gem install bundler --no-document -v 1.17.3

この手法は sue445 さん作 Gem の .travis.yml を参考にした。

github.com

travis_retry については以下のドキュメントを参照のこと。

https://docs.travis-ci.com/user/common-build-problems/#travis_retrydocs.travis-ci.com