Docker images with a complete Debian CRAN check server
The CRAN team maintains a debian meta package which depends on all packages that are installed on the CRAN Debian check server. This provides a reproducible 'R CMD check' environment for CRAN packages.
The CRAN team always uses the Debian testing distribution, which is also what our Debian image uses. This is a rolling branch, which means system libraries get continously updated, and may get breaking changes.
# Get the latest image
docker pull cran/debian
# Start interactive bash shell
docker run --rm -it cran/debian bash
To quickly test if a package can be built:
docker run --rm -it cran/debian R -e 'install.packages("pdftools")'
Alternatively, our ubuntu based image provides a similar environment based on the latest Ubuntu (LTS) server, but with the latest R installed from CRAN. This image is smaller and more stable, with slightly older system libraries than Debian, and only non-breaking updates.
docker run --rm -it cran/ubuntu R -e 'install.packages("magick")'
The files in the source directory keep track of upstream changes in rcheckserver:
- control: the debian
control
file which formally specifies the dependencies. - changelog: keeps track of what has changed and when
- copyright: information from the authors of rcheckserver
We try to automatically update these source files using the source.yml action.