Helper to run R code within build steps, from either an existing local R file or within the source of the build.

cr_buildstep_r(
  r,
  name = "r-base",
  r_source = c("local", "runtime"),
  prefix = "rocker/",
  ...
)

Arguments

r

R code to run or a file containing R code ending with .R, or the gs:// location on Cloud Storage of the R file you want to run

name

The docker image that will run the R code, usually from rocker-project.org

r_source

Whether the R code will be from a runtime file within the source or at build time copying over from a local R file in your session

prefix

prefixed to name - set to "" to suppress. Will be suppressed if name starts with gcr.io

...

Other arguments passed to cr_buildstep

Details

If r_source="runtime" then r should be the location of that file within the source or image that will be run by the R code from image

If r_source="local" then it will copy over from a character string or local file into the build step directly.

If the R code location starts with gs:// then an extra buildstep will be added that will download the R script from that location then run it as per r_source="runtime". This will consequently override your setting of r_source

See also

Examples

cr_project_set("my-project")
#> 2021-03-19 12:27:05 > ProjectId set to my-project
#> [1] "my-project"
cr_bucket_set("my-bucket")
#> 2021-03-19 12:27:05 > Bucket set to my-bucket
#> [1] "my-bucket"
# create an R buildstep inline cr_buildstep_r(c("paste('1+1=', 1+1)", "sessionInfo()"))
#> [[1]] #> ==cloudRunnerBuildStep== #> name: rocker/r-base #> args: #> - Rscript #> - -e #> - |- #> paste('1+1=', 1+1) #> sessionInfo() #>
if (FALSE) { # create an R buildstep from a local file cr_buildstep_r("my-r-file.R") # create an R buildstep from a file within the source of the Build cr_buildstep_r("inst/schedule/schedule.R", r_source = "runtime") } # use a different Rocker image e.g. rocker/verse cr_buildstep_r(c("library(dplyr)", "mtcars %>% select(mpg)", "sessionInfo()"), name = "verse")
#> [[1]] #> ==cloudRunnerBuildStep== #> name: rocker/verse #> args: #> - Rscript #> - -e #> - |- #> library(dplyr) #> mtcars %>% select(mpg) #> sessionInfo() #>
# use your own R image with custom R my_r <- c("devtools::install()", "pkgdown::build_site()") br <- cr_buildstep_r(my_r, name= "gcr.io/gcer-public/packagetools:latest")