Support for building R projects on Travis has recently undergone improvements which we hope will make it an even better tool for the R community. Feature highlights include:
- Support for Travis’ container-based infrastructure.
- Package dependency caching (on the container-based builds).
- Building with multiple R versions (R-devel, R-release (3.2.3) and R-oldrel (3.1.3)).
- Log filtering to improve readability and hide less relevant information.
- Updated dependencies TexLive (2015) and pandoc (1.15.2).
See the Travis documentation on building an R project for complete details on the available options.
Using the container-based infrastructure with package caching is now recommended for nearly all projects. There are more compute and network resources available for container based builds, which means they start processing in less time and run faster. The package caching makes package installation comparable or faster than using binary packages.
A minimal .travis.yml file that is suitable for most cases is
language: r sudo: false cache: packages
New packages can omit
sudo: false, as it is the default for new repositories. However older repositories will have to explicitly set
sudo: false to use the container based infrastructure.
If your package depends on development packages that are not on CRAN (such as GitHub) we recommend you use the Remotes: annotation in your package
DESCRPITION file. This will allow your package and dependencies to be easily installed by
devtools::install_github() as well as on Travis (Examples). It is generally no longer necessary to use
r_binary_packages, etc. as this can be handled with
If you need system dependencies, first check to see if they’re available with the apt-addon and include them in your
.travis.yml. This will allow you to install them without sudo and still use the container based infrastructure.
addons: apt: packages: - libv8-dev
We hope these improvements will make your use of Travis with R simple and useful. Please file any issues found at https://github.com/travis-ci/travis-ci/issues and mention @craigcitro, @hadley and @jimhester in the issue.