Git Product home page Git Product logo

r-shippable's Introduction

Build Status

This repo is used to set up the R package development environment for me on Shippable. Because Shippable maintains the state of its Minions, the installed packages will not be re-installed during the next build, which will save a lot of time.

Currently these packages are installed:

  • r-base-dev: for R package development (R CMD build/check for packages that need to be compiled)
  • r-cran-devtools: in case we need to install packages from Github
  • a few other R packages r-cran-* were installed because it is faster to install them as Debian packages instead of R packages (compilation takes time)
  • pandoc/pandoc-citeproc: for rmarkdown, e.g. sometimes we may need to build R Markdown (v2) vignettes
  • subversion: for checking out and updating R source from SVN

The development version of R is built in the directory ../r-source, and installed to ~/r-devel. A symlink /usr/bin/Rd is made for ~/r-devel/bin/R, so we can use Rd CMD build/check to build/check packages against the development version of R. When we need the latest version of R, just hit the button ▶️ on the build page in the Shippable project, and R-devel will be re-built. Because we used svn co and svn up, we do not need to check out the full source (only incremental changes). Because Shippable does not delete the r-source directory, the next build of R-devel should be much faster than the first time (thanks to make), unless tremendous changes have been made in the R source. Moreover, svn status -u is analyzed to see if it is really necessary to rebuild R-devel: when no new commits were made to the SVN repo, the build step will be skipped.

It may take more than 25 minutes to install all the packages and install R-devel for the first time. Next time it will take about 6 minutes to build this repo if R-devel needs to be re-built, otherwise it will only take about 2 minutes to build this repo in the future. Normally you do not really need to re-build this repo very frequently.

I have a few custom setting for myself in this repo, which you may not need or may want to change if you fork this repo:

  • I have set up my git user.name and user.email (although Shippable does not seem to respect my git config)
  • I use ~/R as my library path (set in .Renviron)
  • I use two repositories to install packages: http://rforge.net (I have some packages under development built daily there) and http://cran.rstudio.com
  • the environment variable R_KNITR_OPTIONS is a hack; please do not use it unless you understand what it means

r-shippable's People

Contributors

cboettig avatar yihui avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.