RConsortium / wishlist

A wishlist of idea from the ISC and community
29 stars 0 forks source link

Check machines for CentOS and FreeBSD #1

Open jeroen opened 8 years ago

jeroen commented 8 years ago

CentOS is the most popular server OS but not checked by CRAN. This is a real problem because CentOS is super conservative and ships with very old versions of compilers and libraries. I share a concern expressed by @jjallaire about package authors using libraries or C++11 features unknowingly that these are unsupported on CentOS and hence their package breaks on servers.

It would be nice to have a check machine with CentOS added to CRAN, or alternatively some separate service similar to Travis that you can enable on Github. It should not be too difficult to setup because CentOS is basically a very old version of Fedora :-)

While we're at it, freebsd would be nice too. It took me 15 minutes to fire up a FreeBSD box on digital ocean and install R + some packages. It catches a bunch of compiler problems that you might not get on Windows or OS-X.

gaborcsardi commented 8 years ago

@jeroenooms We can easily support CentOS on r-hub, if you want to help, just create a Docker image here: https://github.com/r-hub/rhub-linux-builders

You can see the other images for what you need to install and set.

FreeBSD will be somewhat more effort, because it does not work (well) with Docker AFAIK.

jeroen commented 8 years ago

Is this working yet? Can I test it somehow?

gaborcsardi commented 8 years ago

Depends on what you mean by "this". There is this: https://builder.r-hub.io/advanced where you can select a couple of images. I need to add new Docker images by hand for now, but it is a fairly quick process.

The Docker image needs a specific setup, e.g. R installed in /opt and some environment variables set.

To make sysreqs work for system dependencies, I'll also need to add a new platform for centos. So yes, it takes some manual effort, but it is fairly easy for me to add new images.

You cannot add images for yourself, I am not sure if this is a feature that we want.

FreeBSD is more difficult, for that we'll need a VM that (preferably) starts new jails for new builds. I am not sure if it is worth the effort.

gaborcsardi commented 8 years ago

So if you want to add CentOS, and have some time, please fork that repo, add a Dockerfile for it, and then it takes me five minutes to add it to r-hub.

gaborcsardi commented 8 years ago

Also, if you can help out with FreeBSD, I can give you access to r-hub on aws / azure, and then you can play with it there. For the r-hub builder/CI, all we need a script that can start a new R CMD check in a new jail. The script that we use for r-hub is here: https://github.com/r-hub/rhub-backend/blob/master/templates/jenkins.sh This one uses Docker, I guess you would use a jail on FreeBSD.