Devtools not installed in latest builds

My cron-enabled builds started failing in the past day or so due to a missing package, devtools, that is listed in my DESCRIPTION file and used to be installed as expected. Comparing logs with the previous build that worked I see that instead of devtools the remotes package is installed.

An example previous working build: https://travis-ci.org/ShawHahnLab/chiimp/jobs/506519381
A new failing build: https://travis-ci.org/ShawHahnLab/chiimp/jobs/518494175

(This may be related to https://travis-ci.community/t/2940 though I don’t have the error given there.)

Clearing the cache and re-running made no difference, but for the time being I just copied the relevant install line from the working build into my .travis.yml in the before_install step:

before_install:
  - Rscript -e 'install.packages(c("devtools"));if (!all(c("devtools") %in% installed.packages())) { q(status = 1, save = "no")}'

That seems to have done the trick. I’m still left puzzled as to why it stopped working in the first place, though.


Aha!

@jimhester so with the switch to the remotes package for Travis’ dependency handling we’ll need to toggle use_devtools in the config for the old behavior, is that right? But since I have devtools in my own list of dependencies in the DESCRIPTION file, it should still get installed automatically, shouldn’t it? Apparently I never had it in there in the first place! Sorry for the confusion. Mystery solved. I’ll add it in.

Thanks!

Ah and I did explicitly have devtools as a dependency in a feature branch, I just haven’t merged it yet.

Just to add a quick summary since I made a mess of my last reply:

  • A project with an explicit dependency on devtools still works as expected (just tested)
  • A project that doesn’t need devtools itself should be fine letting Travis use the remotes package instead for dependency handling
  • A project with an implicit devtools dependency like mine had will break, but then, I shouldn’t have that situation happen anyway :wink:

This snuck up on me as well. Also my bad for unstated dependencies. :stuck_out_tongue:

Short of tracking the entire travis-build repo, is there a good way of watching for R language build changes? Is there a changelog I should be watching?

None that I could find. It looks like any updates in the master branch are what’s running in production (as far as I can tell). I guess we can keep an eye on those two ruby scripts, if that’s what defines Travis’ R support.