Travis CIでRがsudo: falseで使えるようになったので試してみた
ちょっと前にRStudioのブログにそんな話が出ていたので使ってみました。
使ってみる
↓こんな感じの.travis.yml
を置けばいいらしいです(sudo: false
は新規のプロジェクトには明示的に書かなくても大丈夫ですが、これまでsudo: required
を使っていたレポジトリだと必要みたいです)。
language: r sudo: false cache: packages
すると...
なんかエラーになります。
ログを詳しく見ると下のようなエラーが出ています。incomplete blockってファイルがぶっ壊れてる...?
... Error in untar2(tarfile, files, list, exdir, restore_times) : incomplete block on file ERROR: dependency ‘Rcpp’ is not available for package ‘dplyr’ * removing ‘/home/travis/R/Library/dplyr’ ERROR: dependency ‘Rcpp’ is not available for package ‘readr’ ...
(https://travis-ci.org/yutannihilation/estatapi/builds/118728757#L1142)
別のCRANミラーにしてみる
よく分かりませんが、ファイルがおかしいってことはミラー変えてみるかな?と思って↓のようにRStudioのミラーを使うようにしたら成功しました。
cran: https://cran.rstudio.com/
ひょっとするとキャッシュを吹っ飛ばすだけでもよかったのかもしれません。
ビルドマトリクス
上のRStudioのブログ記事だと詳しくは書いてなかったんですが、ビルドマトリクスが組めます。
公式ドキュメント(https://docs.travis-ci.com/user/languages/r)を読みつつ以下の行を加えてみます。
r: - release - devel
できました。お手軽ですね。
devtools::use_travis()
のデフォルト設定に注意
devtools::use_travis()
でつくられる.travis.yml
のテンプレートは、Hadleyのこだわりでlanguage: R
(大文字のR)になります。これだとマトリクスビルドがうまく動かない、という報告がIssueについています。
試してみたところ、実際動きませんでした(マトリクスビルドではなく、ひとつのバージョンだけのビルドになる)。ひっかかりそうなので気を付けましょう。