rhub
Connect to r-hub, from R
Run R CMD check
on any of the r-hub architectures, from the
command line.
Introduction
r-hub is a multi-platform build and check service for R packages. This packages uses the r-hub API to connect to r-hub and start package checks on various architectures.
Installation
devtools::install_github("r-hub/rhub")
Usage
library(rhub)
Validating your email address
To build packages, first you need to validate your email address. The package tries to detect your email address, and if it fails to do this correctly, you'll need to specify it.
> validate_email()
Please check your emails for the R-hub access token
token: 2729c044648e4e358ef8fa1c31c3ada2
Token added for ‘csardi.gabor@gmail.com’
rhub
stores the token permanently on the machine, so you do not need
to validate your email again. You can also copy your token to other
machines.
Currently you cannot use the token obtained via this function, in the Web UI of r-hub.
Listing r-hub platforms
platforms()
#> debian-gcc-devel:
#> Debian Linux, R-devel, GCC
#> debian-gcc-patched:
#> Debian Linux, R-patched, GCC
#> debian-gcc-release:
#> Debian Linux, R-release, GCC
#> fedora-clang-devel:
#> Fedora Linux, R-devel, clang, gfortran
#> fedora-gcc-devel:
#> Fedora Linux, R-devel, GCC
#> linux-x86_64-centos6-epel:
#> CentOS 6, stock R from EPEL
#> linux-x86_64-centos6-epel-rdt:
#> CentOS 6 with Redhat Developer Toolset, R from EPEL
#> linux-x86_64-rocker-gcc-san:
#> Debian Linux, R-devel, GCC ASAN/UBSAN
#> ubuntu-gcc-devel:
#> Ubuntu Linux 16.04 LTS, R-devel, GCC
#> ubuntu-gcc-release:
#> Ubuntu Linux 16.04 LTS, R-release, GCC
#> windows-x86_64-oldrel:
#> Windows Server 2008 R2 SP1, R-oldrel, 64 bit
You can use the platform ids (e.g. debian-gcc-devel
) to select between
platforms.
Run a package check
check()
runs an R CMD check
on the package in the specified directory,
or specified source R package tarball. It defaults to the working
directory.
check()
In interactive R sessions, the output of the check is printed to the screen.
Shortcuts for quick checks
These are quick shortcuts that select the right platform:
check_on_linux()
andcheck_on_windows()
select the operating system.check_on_debian()
,check_on_ubuntu()
,check_on_fedora()
andcheck_on_centos()
select an appropriate Linux platform.check_with_roldrel()
,check_with_rrelease()
,check_with_rpatched()
andcheck_with_rdevel()
select an R version.check_with_valgrind
runs the build and check on Linux, invalgrind
to find memory leaks and pointer errors.check_with_sanitizers()
runs all package package tests, examples and vignettes with Address Sanitizer and Undefined Behavior Sanitizer, see below.
Sanitizers for compiled code
r-hub provides a special Docker image to run Address Sanitizer (ASAN) and
Undefined Behavior Sanitizer (UBSAN). This is based on the r-devel-san
image of the Rocker project.
This image does not run R CMD check
at all, but it runs
- package tests,
- all manual examples, and
- all vignette code
with ASAN and UBSAN enabled.
License
MIT © R Consortium