I have a number of vignettes in an R
package that are slow to run. As I understand it, a CRAN R CMD check
will not rebuild the vignette but will run its corresponding code.
Since the vignettes are slow to run, I don't think the adhere to the CRAN policy. But the vignettes are useful examples that have figures. So I was wondering if it's possible to skip running vignette code only for a CRAN R CMD check
, a bit like you can skip a unit test using testthat::skip_on_cran()
?
I just found there is an environment variable used by devtools
called NOT_CRAN
, and we should be able to use the same ideas to check if things are being run as CRAN. I believe wrapping code in the following if
statement will mean it is only run if you are not using the --as-cran
statement.
if (identical(Sys.getenv("NOT_CRAN", unset = "true"), "true")) {
###CODE HERE###
}
I think even if this has been set by devtools
it should still work.
Sources: Testing -- R Packages by Hadley Wickham; testthat
package source; devtools
package source.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With