Ruby2.1.0以降のバージョニングルールの変更されてから初のリリース、Ruby2.1.1が出た いろいろあってTravisCIでの2.1.0以降のテストについて調べた
発端は@sonotsさんのツイート
.travis.yml、2.1.1 にしなくちゃ?
— そのっつ (SEO Naotoshi) (@sonots) 2014, 2月 25
そして口は災いの元の見本
@chiastolite はやく下さい!今後2.1.2が出た時にまたすぐ書き換えなくてもすむように 2.1.* 的な指定ができるかどうかまで調べてくれると大分ハッピー :D
— そのっつ (SEO Naotoshi) (@sonots) 2014, 2月 25
調べたのは以下の2点
- すでに2.1.1と指定できるのか
- 2.1.*のようにした場合はどうなるか
2.1.1を指定した場合
- 2.1.1動いた
- Travisのコンテナには入ってないバージョンのため取得用のダウンロードが走る(+30secぐらい)
参考: https://travis-ci.org/chiastolite/travis-test/builds/19588293
2.1.*のようにした場合
Travisでは2.1.0が動作した
1 2 3 4 5 6 7 |
|
試しにdocker上でrvmを最新ver(1.25.19)して同様に2.1.*を渡してみたところ、この場合は2.1.1で動作した
1 2 3 4 5 6 7 |
|
これにより、現在のTravisCI上ではrvmのバージョンが古いため、2.1.*が最新にはならないことがわかった
rvmを更新できないかというIssueも上がっていたが現状動作を確認することができていない
Update RVM before selecting Ruby by henrikhodne · Pull Request #139 · travis-ci/travis-build
TravisCI側でコンテナが更新されるのを待つしかなさそう
まとめ
2.1.などの指定ではTravisCIの更新を待つ必要があるが、バージョンを直接指定すればRubyの最新バージョンを追うことができることがわかった ビッグウェーブに乗る必要がある人はリリースの度にバージョンを更新して、それ以外の場合は2.1.などとしてTravis側の対応を待てばいいと思う
(Travisの更新速度がどれぐらいかわからないけど)