If you're developing a package for R to share with others — on CRAN, say — you'll want to make sure it works for others. That means testing it on various platforms (Windows, Mac, Linux, and all the versions thereof), and on various versions of R (current, past, and future). But it's likely you only have access to one platform, and installing and managing multiple R versions can be a pain.

R-hub, the online package-building service now in public beta, aims to solve this problem by making it easy to build and test your package on a variety of platforms and R versions. Using the rhub R package, you can with a single command upload your package to the cloud-based R-hub service, and build and test your package on the current, prior, and in-development versions of R, using any or all of these platforms:

(Mac platforms will be added soon, with Solaris a possible addition in the future.) In addition to running the standard R CMD CHECK package tests for you, R-hub also applies "sanitizers" to the binary builds, to check for common errors in any compiled code (for example, writing to unallocated memory). It also handles the loading of dependent packages for the tests, even if those packages aren't on CRAN or BioConductor (so you can test with development versions of packages on GitHub, for example).

R hub is for every member of the R community, and designed to make it easy to create and share R packages with others. In particular, for packages intended for submission to CRAN, R-hub is intended to simplify and streamline that process by detecting possible bugs and errors that might appear on other platforms or R versions before submitting the package to CRAN.

R-hub was developed by Gábor Csárdi, and funded by a generous grant from the R Consortium. Microsoft is proud to be a founding member of the R Consortium, and also provides Azure credits to support the ongoing operation of R-hub.

R-hub is available as a public beta now; download the r-hub package from GitHub to get started. (It will also be available on CRAN soon.) If you find problems or have suggestions, please report an issue at the R-hub Github repository. And if you'd like to learn more about R-hub, watch the recording of the R-hub webinar presented by the R Consortium, where Gábor introduces R-hub and demonstrates the process of building and testing a package.