Closed cicdguy closed 1 year ago
Can you please paste lines 159-171 of the template.Rmd file? Would be easier to debug.
The full log is here: https://github.com/insightsengineering/rbmi/actions/runs/3273086026/jobs/5384870485
I am wondering if this is an issue that we are using a package called mmrm
that only got published to CRAN today and might not yet be in RSPMs cache (assuming you are using the public RSPM).
The Rmd used was here: https://github.com/insightsengineering/thevalidatoR/blob/main/template.Rmd#L156-L171 We did use a Docker image for rbmi validation, and that Docker image probably points to RSPM by default. We need a way to override the repositories via this action, so that the default isn't RSPM all the time.
Ok I think I have found the reason - no mmrm
dependency as it is not available on the snapshot as of "2021-10-29" which is a default one for rocker/verse:4.1.1
image.
I think that @gowerc you would have to add Remotes field into the description if you wish to continue with validation on R@4.1.1. Alternatively we can move autovalidate to run on R@4.2.1 but it's much more bigger.
My local run:
root@localhost:~/rbmi# Rscript ../thevalidatoR/report-generator.R
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
Current dir is: '/root/rbmi'
Installing 20 packages: R.utils, R.oo, R.methodsS3, matrixStats, checkmate, RcppEigen, RcppParallel, R.cache, mvtnorm, numDeriv, estimability, BH, V8, loo, inline, StanHeaders, R.rsp, emmeans, rstan, rstantools
Installing packages into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/R.utils_2.11.0.tar.gz'
Content type 'binary/octet-stream' length 1407934 bytes (1.3 MB)
==================================================
downloaded 1.3 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/R.oo_1.24.0.tar.gz'
Content type 'binary/octet-stream' length 955204 bytes (932 KB)
==================================================
downloaded 932 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/R.methodsS3_1.8.1.tar.gz'
Content type 'binary/octet-stream' length 79818 bytes (77 KB)
==================================================
downloaded 77 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/matrixStats_0.61.0.tar.gz'
Content type 'binary/octet-stream' length 674296 bytes (658 KB)
==================================================
downloaded 658 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/checkmate_2.0.0.tar.gz'
Content type 'binary/octet-stream' length 707075 bytes (690 KB)
==================================================
downloaded 690 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/RcppEigen_0.3.3.9.1.tar.gz'
Content type 'binary/octet-stream' length 7464752 bytes (7.1 MB)
==================================================
downloaded 7.1 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/RcppParallel_5.1.4.tar.gz'
Content type 'binary/octet-stream' length 2091656 bytes (2.0 MB)
==================================================
downloaded 2.0 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/R.cache_0.15.0.tar.gz'
Content type 'binary/octet-stream' length 107947 bytes (105 KB)
==================================================
downloaded 105 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/mvtnorm_1.1-3.tar.gz'
Content type 'binary/octet-stream' length 265427 bytes (259 KB)
==================================================
downloaded 259 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/numDeriv_2016.8-1.1.tar.gz'
Content type 'binary/octet-stream' length 112596 bytes (109 KB)
==================================================
downloaded 109 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/estimability_1.3.tar.gz'
Content type 'binary/octet-stream' length 35962 bytes (35 KB)
==================================================
downloaded 35 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/BH_1.75.0-0.tar.gz'
Content type 'binary/octet-stream' length 11881010 bytes (11.3 MB)
==================================================
downloaded 11.3 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/V8_3.4.2.tar.gz'
Content type 'binary/octet-stream' length 1378453 bytes (1.3 MB)
==================================================
downloaded 1.3 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/loo_2.4.1.tar.gz'
Content type 'binary/octet-stream' length 1576516 bytes (1.5 MB)
==================================================
downloaded 1.5 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/inline_0.3.19.tar.gz'
Content type 'binary/octet-stream' length 126964 bytes (123 KB)
==================================================
downloaded 123 KB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/StanHeaders_2.21.0-7.tar.gz'
Content type 'binary/octet-stream' length 1854517 bytes (1.8 MB)
==================================================
downloaded 1.8 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/R.rsp_0.44.0.tar.gz'
Content type 'binary/octet-stream' length 1535111 bytes (1.5 MB)
==================================================
downloaded 1.5 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/emmeans_1.7.0.tar.gz'
Content type 'binary/octet-stream' length 1964465 bytes (1.9 MB)
==================================================
downloaded 1.9 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/rstan_2.21.2.tar.gz'
Content type 'binary/octet-stream' length 54813568 bytes (52.3 MB)
==================================================
downloaded 52.3 MB
trying URL 'https://packagemanager.rstudio.com/cran/__linux__/focal/2021-10-29/src/contrib/rstantools_2.1.1.tar.gz'
Content type 'binary/octet-stream' length 149928 bytes (146 KB)
==================================================
downloaded 146 KB
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘R.methodsS3’ ...
* DONE (R.methodsS3)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘matrixStats’ ...
* DONE (matrixStats)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘checkmate’ ...
* DONE (checkmate)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘RcppEigen’ ...
* DONE (RcppEigen)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘RcppParallel’ ...
* DONE (RcppParallel)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘mvtnorm’ ...
* DONE (mvtnorm)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘numDeriv’ ...
* DONE (numDeriv)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘estimability’ ...
* DONE (estimability)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘BH’ ...
* DONE (BH)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘V8’ ...
* DONE (V8)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘inline’ ...
* DONE (inline)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘R.oo’ ...
* DONE (R.oo)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘loo’ ...
* DONE (loo)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘StanHeaders’ ...
* DONE (StanHeaders)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘emmeans’ ...
* DONE (emmeans)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘rstantools’ ...
* DONE (rstantools)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘R.utils’ ...
* DONE (R.utils)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘rstan’ ...
* DONE (rstan)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘R.cache’ ...
* DONE (R.cache)
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* installing *binary* package ‘R.rsp’ ...
* DONE (R.rsp)
The downloaded source packages are in
‘/tmp/RtmpWSO0nT/downloaded_packages’
processing file: template.Rmd
|.... | 5%
inline R code fragments
|....... | 10%
label: setup (with options)
List of 1
$ include: logi FALSE
|.......... | 15%
inline R code fragments
|.............. | 20%
label: execution_info (with options)
List of 1
$ echo: logi FALSE
|.................. | 25%
ordinary text without R code
|..................... | 30%
label: version_control (with options)
List of 1
$ echo: logi FALSE
|........................ | 35%
ordinary text without R code
|............................ | 40%
label: session_info (with options)
List of 2
$ echo: logi TRUE
$ eval: logi TRUE
|................................ | 45%
ordinary text without R code
|................................... | 50%
label: riskmetric (with options)
List of 2
$ echo: logi FALSE
$ eval: logi TRUE
|...................................... | 55%
ordinary text without R code
|.......................................... | 60%
label: r_cmd_check (with options)
List of 2
$ echo: logi FALSE
$ eval: logi TRUE
Quitting from lines 159-171 (template.Rmd)
Error in proc$get_built_file() : Build process failed
Calls: <Anonymous> ... build_package -> with_envvar -> force -> <Anonymous>
Execution halted
#### LOOK BELOW!!
root@localhost:~/rbmi# R CMD build .
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘rbmi’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
-----------------------------------
OpenBLAS WARNING - could not determine the L2 cache size on this system, assuming 256k
ERROR: dependency ‘mmrm’ is not available for package ‘rbmi’
* removing ‘/tmp/RtmpJzcCV9/Rinstf993c8f076/rbmi’
-----------------------------------
ERROR: package installation failed
I don't think changing mmrm
to remotes would be a viable solution considering we also need it to live on CRAN ? Unless you can have both ?
Yes you can have it in both Imports and Remotes - see tern example. But please note that CRAN submission would complain about Remotes as a non-standard field and you have to remove it before submission.
This Remotes field would then be used here: https://github.com/insightsengineering/thevalidatoR/blob/392bee40fced922483d1ad1ef3769dfa90d13117/report-generator.R#L36-L42 That results in here: https://github.com/insightsengineering/rbmi/actions/runs/3273086026/jobs/5384870485#step:4:876 (note no mmrm pkg)
This would be a fix in rbmi
to fit into validator workflow.
On the other hand, validator workflow could be fixed as well. The simplest thing to do would be to change "repos"
option from a default snapshot into the latest. Then mmrm
would be accessible. But here, I don't know how to process that change request. Let me summon @dgkf for an opinion.
My preference would be to not touch rbmi
and instead update the validation pipeline instead 😄
@pawelru and @gowerc -I'll update rbmi
to use the R 4.2.1 image, since mmrm is available on CRAN for this version.
That's the simplest solution.
I'm not totally familiar with the how thevalidatoR
is used these days. Is there a reason we want to keep the repos
option fixed to the default snapshot? If not, I think pulling latest packages is probably a good idea as a general rule of thumb.
I definitely agree that forcing packages to work around this behavior is something we would want to avoid.
What happened?
Validation for v1.2.0 for rbmi failed.
Relevant log output