insightsengineering / teal

Exploratory Web Apps for Analyzing Clinical Trial Data
https://insightsengineering.github.io/teal/
Other
181 stars 39 forks source link

Dependency Test - max failed #1362

Closed donyunardi closed 3 weeks ago

donyunardi commented 4 weeks ago

https://github.com/insightsengineering/teal/actions/runs/11172110749/job/31058830842

  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-module_teal.R:90:13'): creation process is invoked for teal.lockfile.mode = "enabled" and snapshot is copied to teal_app.lock and removed after session ended ──
  file.exists(renv_filename) is not TRUE

  `actual`:   FALSE
  `expected`: TRUE 

This is similar fail with our daily integration test and we have already increased the timeout here to 500 seconds.

To test this, I'm going to see if increasing the timeout will help resolve this.

donyunardi commented 3 weeks ago

So this fails locally too when I run verdepcheck::max_deps_check(".")

image

Full Log ```r r$> verdepcheck::max_deps_check(".") ✔ Updated metadata database: 5.54 MB in 8 files. ✔ Updating metadata database ... done ℹ Creating temporary DESCRIPTION file: /var/folders/2q/3msvdr052rbctgldyf85xy240000gp/T//Rtmpbkhf3v/file28655c4597e0 ℹ Creating library directory: /var/folders/2q/3msvdr052rbctgldyf85xy240000gp/T//Rtmpbkhf3v/file286527b1b608 ✔ Updated metadata database: 4.86 MB in 4 files. ✔ Updating metadata database ... done ℹ Getting 84 pkgs (104.10 MB), 63 (31.99 MB) cached ✔ Cached copy of diffobj 0.3.5 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of httpuv 1.6.15 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of jquerylib 0.1.4 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of magrittr 2.0.3 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of memoise 2.0.1 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of mime 0.12 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of pkgload 1.4.0 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of praise 1.0.0 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of rappdirs 0.3.3 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of sass 0.4.9 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of tibble 3.2.1 (x86_64-apple-darwin20) is the latest build ✔ Cached copy of xtable 1.8-4 (x86_64-apple-darwin20) is the latest build ✔ Got abind 1.4-8 (x86_64-apple-darwin20) (65.06 kB) ✔ Got askpass 1.2.1 (x86_64-apple-darwin20) (24.84 kB) ✔ Got backports 1.5.0 (x86_64-apple-darwin20) (122.38 kB) ✔ Got base64enc 0.1-3 (x86_64-apple-darwin20) (34.85 kB) ✔ Got brio 1.1.5 (x86_64-apple-darwin20) (46.91 kB) ✔ Got cachem 1.1.0 (x86_64-apple-darwin20) (69.54 kB) ✔ Got evaluate 1.0.0 (x86_64-apple-darwin20) (101.76 kB) ✔ Got desc 1.4.3 (x86_64-apple-darwin20) (336.23 kB) ✔ Got digest 0.6.37 (x86_64-apple-darwin20) (368.21 kB) ✔ Got pkgconfig 2.0.3 (x86_64-apple-darwin20) (18.51 kB) ✔ Got fansi 1.0.6 (x86_64-apple-darwin20) (390.07 kB) ✔ Got processx 3.8.4 (x86_64-apple-darwin20) (317.57 kB) ✔ Got rematch2 2.1.2 (x86_64-apple-darwin20) (45.83 kB) ✔ Got dplyr 1.1.4 (x86_64-apple-darwin20) (1.60 MB) ✔ Got utf8 1.2.4 (x86_64-apple-darwin20) (210.11 kB) ✔ Got isoband 0.2.7 (x86_64-apple-darwin20) (1.88 MB) ✔ Got pingr 2.0.3 (x86_64-apple-darwin20) (40.64 kB) ✔ Got checkmate 2.3.2 (source) (234.75 kB) ✔ Got farver 2.1.2 (x86_64-apple-darwin20) (2.02 MB) ✔ Got xml2 1.3.6 (x86_64-apple-darwin20) (527.80 kB) ✔ Got ps 1.8.0 (x86_64-apple-darwin20) (390.27 kB) ✔ Got RColorBrewer 1.1-3 (x86_64-apple-darwin20) (51.92 kB) ✔ Got mirai 1.2.0.9030 (source) (281.47 kB) ✔ Got purrr 1.0.2 (x86_64-apple-darwin20) (496.45 kB) ✔ Got callr 3.7.6 (x86_64-apple-darwin20) (440.56 kB) ✔ Got chromote 0.3.1 (x86_64-apple-darwin20) (389.57 kB) ✔ Got fastmap 1.2.0 (x86_64-apple-darwin20) (201.66 kB) ✔ Got munsell 0.5.1 (x86_64-apple-darwin20) (245.71 kB) ✔ Got teal.logger 0.2.0.9011 (source) (58.60 kB) ✔ Got promises 1.3.0 (x86_64-apple-darwin20) (1.68 MB) ✔ Got fs 1.6.4 (x86_64-apple-darwin20) (306.25 kB) ✔ Got officer 0.6.6 (x86_64-apple-darwin20) (1.73 MB) ✔ Got nanonext 1.3.0 (x86_64-apple-darwin20) (1.85 MB) ✔ Got cli 3.6.3 (x86_64-apple-darwin20) (1.31 MB) ✔ Got fontquiver 0.2.1 (x86_64-apple-darwin20) (2.28 MB) ✔ Got pkgbuild 1.4.4 (x86_64-apple-darwin20) (202.43 kB) ✔ Got R.cache 0.16.0 (x86_64-apple-darwin20) (110.61 kB) ✔ Got pillar 1.9.0 (x86_64-apple-darwin20) (651.76 kB) ✔ Got R6 2.5.1.9000 (source) (274.02 kB) ✔ Got later 1.3.2 (x86_64-apple-darwin20) (126.72 kB) ✔ Got R.methodsS3 1.8.2 (x86_64-apple-darwin20) (82.23 kB) ✔ Got vctrs 0.6.5 (x86_64-apple-darwin20) (1.35 MB) ✔ Got viridisLite 0.4.2 (x86_64-apple-darwin20) (1.30 MB) ✔ Got formatters 0.5.9 (x86_64-apple-darwin20) (4.63 MB) ✔ Got selectr 0.4-2 (x86_64-apple-darwin20) (488.51 kB) ✔ Got rtables 0.6.10 (x86_64-apple-darwin20) (3.95 MB) ✔ Got scales 1.3.0 (x86_64-apple-darwin20) (709.83 kB) ✔ Got fontawesome 0.5.2 (x86_64-apple-darwin20) (1.36 MB) ✔ Got sourcetools 0.1.7-1 (x86_64-apple-darwin20) (43.31 kB) ✔ Got uuid 1.2-1 (x86_64-apple-darwin20) (76.43 kB) ✔ Got jsonlite 1.8.9 (source) (855.84 kB) ✔ Got zip 2.3.1 (x86_64-apple-darwin20) (217.26 kB) ✔ Got shinycssloaders 1.1.0 (x86_64-apple-darwin20) (337.39 kB) ✔ Got openssl 2.2.2 (x86_64-apple-darwin20) (3.70 MB) ✔ Got tidyselect 1.2.1 (x86_64-apple-darwin20) (223.12 kB) ✔ Got waldo 0.5.3 (x86_64-apple-darwin20) (103.89 kB) ✔ Got tidyr 1.3.1 (x86_64-apple-darwin20) (1.32 MB) ✔ Got rprojroot 2.0.4 (x86_64-apple-darwin20) (105.39 kB) ✔ Got crayon 1.5.3 (x86_64-apple-darwin20) (163.75 kB) ✔ Got shinyWidgets 0.8.7 (x86_64-apple-darwin20) (1.33 MB) ✔ Got generics 0.1.3 (x86_64-apple-darwin20) (81.50 kB) ✔ Got highr 0.11 (x86_64-apple-darwin20) (37.57 kB) ✔ Got teal.widgets 0.4.2.9022 (source) (126.34 kB) ✔ Got rlistings 0.2.9 (x86_64-apple-darwin20) (3.22 MB) ✔ Got globals 0.16.3 (x86_64-apple-darwin20) (107.61 kB) ✔ Got matrixStats 1.4.1 (x86_64-apple-darwin20) (683.61 kB) ✔ Got teal.slice 0.5.1.9012 (source) (1.38 MB) ✔ Got fontBitstreamVera 0.1.1 (x86_64-apple-darwin20) (695.57 kB) ✔ Got data.table 1.16.0 (x86_64-apple-darwin20) (2.75 MB) ✔ Got R.oo 1.26.0 (x86_64-apple-darwin20) (993.20 kB) ✔ Got ragg 1.3.3 (x86_64-apple-darwin20) (11.87 MB) ✔ Got plotly 4.10.4 (x86_64-apple-darwin20) (3.20 MB) ✔ Got textshaping 0.4.0 (x86_64-apple-darwin20) (1.15 MB) ✔ Got glue 1.8.0 (x86_64-apple-darwin20) (165.26 kB) ✔ Got htmltools 0.5.8.1 (x86_64-apple-darwin20) (361.27 kB) ✔ Got colorspace 2.1-1 (x86_64-apple-darwin20) (2.68 MB) ✔ Got renv 1.0.10.9000 (source) (1.23 MB) ✔ Got Rcpp 1.0.13 (x86_64-apple-darwin20) (2.19 MB) ✔ Got fontLiberation 0.1.0 (x86_64-apple-darwin20) (4.53 MB) ✔ Got R.utils 2.12.3 (x86_64-apple-darwin20) (1.44 MB) ✔ Got shinybusy 0.3.3 (x86_64-apple-darwin20) (606.36 kB) ✔ Got httr 1.4.7 (x86_64-apple-darwin20) (478.11 kB) ✔ Got labeling 0.4.3 (x86_64-apple-darwin20) (61.63 kB) ✔ Got xfun 0.48 (x86_64-apple-darwin20) (547.37 kB) ✔ Got systemfonts 1.1.0 (x86_64-apple-darwin20) (7.12 MB) ✔ Got curl 5.2.3 (x86_64-apple-darwin20) (816.03 kB) ✔ Got ggplot2 3.5.1 (x86_64-apple-darwin20) (5.01 MB) ✔ Got websocket 1.4.2 (x86_64-apple-darwin20) (5.53 MB) ✔ Got stringr 1.5.1 (x86_64-apple-darwin20) (314.06 kB) ✔ Got commonmark 1.9.2 (x86_64-apple-darwin20) (358.01 kB) ✔ Got cpp11 0.5.0 (x86_64-apple-darwin20) (271.29 kB) ✔ Got crosstalk 1.2.1 (x86_64-apple-darwin20) (408.02 kB) ✔ Got sys 3.4.3 (x86_64-apple-darwin20) (51.47 kB) ✔ Got gdtools 0.4.0 (source) (74.38 kB) ✔ Got lazyeval 0.2.2 (x86_64-apple-darwin20) (162.26 kB) ✔ Got flextable 0.9.6 (source) (2.34 MB) ✔ Got styler 1.10.3 (x86_64-apple-darwin20) (837.61 kB) ✔ Got gtable 0.3.5 (x86_64-apple-darwin20) (218.83 kB) ✔ Got htmlwidgets 1.6.4 (x86_64-apple-darwin20) (805.32 kB) ✔ Got rvest 1.0.4.9000 (source) (1.05 MB) ✔ Got shinyvalidate 0.1.3.9000 (source) (1.09 MB) ✔ Got teal.data 0.6.0.9012 (source) (1.94 MB) ✔ Got shinyjs 2.1.0.9006 (source) (944.82 kB) ✔ Got yaml 2.3.10 (source) (116.76 kB) ✔ Got teal.code 0.5.0.9010 (source) (72.68 kB) ✔ Got knitr 1.48.6 (source) (466.19 kB) ✔ Got rlang 1.1.4.9000 (source) (1.07 MB) ✔ Got stringi 1.8.4 (x86_64-apple-darwin20) (14.66 MB) ✔ Got teal.reporter 0.3.1.9016 (source) (2.64 MB) ✔ Got shinytest2 0.3.2.9000 (source) (5.65 MB) ✔ Got bslib 0.8.0.9000 (source) (11.86 MB) ✔ Downloaded 111 packages (150.36 MB) in 24.4s ℹ Packaging jsonlite 1.8.9 ℹ Packaging renv 1.0.10.9000 ℹ Packaging yaml 2.3.10 ℹ Packaging R6 2.5.1.9000 ℹ Packaging rlang 1.1.4.9000 ℹ Building GenomeInfoDbData 1.2.12 ✔ Installed testthat 3.2.1.9000 (github::r-lib/testthat@fe38519) (1.1s) ✔ Installed shiny 1.9.1.9000 (github::rstudio/shiny@abf7138) (1.2s) ✔ Installed lifecycle 1.0.4 (github::r-lib/lifecycle@77fce9b) (1.2s) ✔ Installed logger 0.3.0.9000 (github::daroczig/logger@6f5e153) (1.2s) ✔ Installed rmarkdown 2.28.2 (github::rstudio/rmarkdown@c787e8a) (1.5s) ✔ Installed withr 3.0.1.9000 (github::r-lib/withr@82daa90) (1.6s) ✔ Installed abind 1.4-8 (553ms) ✔ Packaged yaml 2.3.10 (50.1s) ✔ Packaged R6 2.5.1.9000 (50.1s) ✔ Installed askpass 1.2.1 (383ms) ℹ Building yaml 2.3.10 ✔ Packaged jsonlite 1.8.9 (50.7s) ✔ Installed backports 1.5.0 (492ms) ℹ Packaging checkmate 2.3.2 ℹ Building jsonlite 1.8.9 ✔ Built GenomeInfoDbData 1.2.12 (4.8s) ✔ Packaged renv 1.0.10.9000 (52.5s) ℹ Building renv 1.0.10.9000 ✔ Packaged rlang 1.1.4.9000 (52.8s) ℹ Building R6 2.5.1.9000 ℹ Building rlang 1.1.4.9000 ✔ Packaged checkmate 2.3.2 (3.6s) ✔ Installed base64enc 0.1-3 (328ms) ℹ Building checkmate 2.3.2 ✔ Installed brio 1.1.5 (615ms) ✔ Installed cachem 1.1.0 (141ms) ✔ Installed callr 3.7.6 (247ms) ✔ Installed chromote 0.3.1 (396ms) ✔ Installed cli 3.6.3 (439ms) ✔ Built R6 2.5.1.9000 (2.9s) ✔ Installed colorspace 2.1-1 (447ms) ✔ Installed commonmark 1.9.2 (307ms) ✔ Installed R6 2.5.1.9000 (github::r-lib/R6@ecaf98b) (221ms) ✔ Installed cpp11 0.5.0 (237ms) ✔ Installed crayon 1.5.3 (228ms) ✔ Installed crosstalk 1.2.1 (412ms) ✔ Installed curl 5.2.3 (236ms) ✔ Installed data.table 1.16.0 (235ms) ✔ Installed desc 1.4.3 (219ms) ✔ Installed diffobj 0.3.5 (276ms) ✔ Installed digest 0.6.37 (265ms) ✔ Installed dplyr 1.1.4 (237ms) ✔ Installed evaluate 1.0.0 (381ms) ✔ Installed fansi 1.0.6 (278ms) ✔ Installed farver 2.1.2 (211ms) ✔ Installed fastmap 1.2.0 (196ms) ✔ Installed fontawesome 0.5.2 (208ms) ✔ Installed fontBitstreamVera 0.1.1 (217ms) ✔ Installed fontLiberation 0.1.0 (217ms) ✔ Installed fontquiver 0.2.1 (330ms) ✔ Installed formatters 0.5.9 (338ms) ✔ Installed fs 1.6.4 (220ms) ✔ Installed generics 0.1.3 (215ms) ✔ Installed ggplot2 3.5.1 (232ms) ✔ Installed globals 0.16.3 (244ms) ✔ Built yaml 2.3.10 (10.4s) ✔ Installed glue 1.8.0 (278ms) ✔ Installed gtable 0.3.5 (396ms) ✔ Installed yaml 2.3.10 (github::vubiostat/r-yaml@b487799) (210ms) ✔ Installed highr 0.11 (190ms) ✔ Installed htmltools 0.5.8.1 (214ms) ✔ Installed htmlwidgets 1.6.4 (217ms) ✔ Installed httpuv 1.6.15 (212ms) ✔ Installed httr 1.4.7 (215ms) ✔ Installed isoband 0.2.7 (383ms) ✔ Installed jquerylib 0.1.4 (282ms) ✔ Installed labeling 0.4.3 (213ms) ✔ Installed later 1.3.2 (213ms) ✔ Installed lazyeval 0.2.2 (220ms) ✔ Installed magrittr 2.0.3 (218ms) ✔ Installed matrixStats 1.4.1 (232ms) ✔ Installed memoise 2.0.1 (343ms) ✔ Installed mime 0.12 (338ms) ✔ Built jsonlite 1.8.9 (12.8s) ✔ Installed munsell 0.5.1 (274ms) ✔ Installed nanonext 1.3.0 (247ms) ℹ Packaging mirai 1.2.0.9030 ✔ Installed jsonlite 1.8.9 (github::jeroen/jsonlite@86f481d) (211ms) ✔ Installed officer 0.6.6 (223ms) ✔ Installed openssl 2.2.2 (412ms) ✔ Installed pillar 1.9.0 (337ms) ✔ Installed pingr 2.0.3 (121ms) ✔ Installed pkgbuild 1.4.4 (188ms) ✔ Installed pkgconfig 2.0.3 (185ms) ✔ Installed pkgload 1.4.0 (202ms) ✔ Packaged mirai 1.2.0.9030 (1.7s) ✔ Installed plotly 4.10.4 (272ms) ℹ Building mirai 1.2.0.9030 ✔ Installed praise 1.0.0 (408ms) ✔ Built checkmate 2.3.2 (11.7s) ✔ Installed processx 3.8.4 (166ms) ✔ Installed checkmate 2.3.2 (github::mllg/checkmate@63e001f) (180ms) ✔ Installed promises 1.3.0 (183ms) ✔ Installed ps 1.8.0 (167ms) ✔ Installed purrr 1.0.2 (287ms) ✔ Installed R.cache 0.16.0 (157ms) ✔ Installed R.methodsS3 1.8.2 (48ms) ✔ Installed R.oo 1.26.0 (55ms) ✔ Installed R.utils 2.12.3 (51ms) ✔ Installed rappdirs 0.3.3 (57ms) ✔ Installed ragg 1.3.3 (409ms) ✔ Installed RColorBrewer 1.1-3 (249ms) ✔ Installed rematch2 2.1.2 (86ms) ✔ Installed Rcpp 1.0.13 (544ms) ✔ Installed rprojroot 2.0.4 (184ms) ✔ Installed rtables 0.6.10 (195ms) ✔ Installed sass 0.4.9 (189ms) ✔ Installed scales 1.3.0 (183ms) ✔ Installed selectr 0.4-2 (179ms) ✔ Installed shinybusy 0.3.3 (285ms) ✔ Installed shinycssloaders 1.1.0 (185ms) ✔ Built mirai 1.2.0.9030 (3.7s) ✔ Installed shinyWidgets 0.8.7 (315ms) ✔ Installed sourcetools 0.1.7-1 (233ms) ✔ Installed mirai 1.2.0.9030 (github::shikokuchuo/mirai@12d26e0) (217ms) ✔ Installed stringi 1.8.4 (184ms) ✔ Installed stringr 1.5.1 (289ms) ✔ Installed styler 1.10.3 (276ms) ✔ Installed sys 3.4.3 (190ms) ✔ Installed systemfonts 1.1.0 (172ms) ✔ Installed textshaping 0.4.0 (170ms) ✔ Installed tibble 3.2.1 (178ms) ✔ Installed tidyr 1.3.1 (166ms) ✔ Installed tidyselect 1.2.1 (251ms) ✔ Installed tinytex 0.53 (277ms) ✔ Installed utf8 1.2.4 (187ms) ✔ Installed uuid 1.2-1 (171ms) ✔ Installed vctrs 0.6.5 (170ms) ✔ Installed viridisLite 0.4.2 (166ms) ✔ Installed waldo 0.5.3 (173ms) ✔ Installed websocket 1.4.2 (251ms) ✔ Installed xfun 0.48 (295ms) ℹ Packaging knitr 1.48.6 ✔ Installed xml2 1.3.6 (190ms) ✔ Installed xtable 1.8-4 (247ms) ✔ Installed zip 2.3.1 (195ms) ✔ Installed Biobase 2.64.0 (227ms) ✔ Installed BiocBaseUtils 1.6.0 (214ms) ✔ Built renv 1.0.10.9000 (21.2s) ✔ Installed BiocGenerics 0.50.0 (420ms) ✔ Installed DelayedArray 0.30.1 (253ms) ✔ Installed renv 1.0.10.9000 (github::rstudio/renv@1914b10) (193ms) ✔ Installed GenomeInfoDb 1.40.1 (216ms) ✔ Installed GenomicRanges 1.56.1 (184ms) ✔ Installed IRanges 2.38.1 (177ms) ✔ Installed MatrixGenerics 1.16.0 (276ms) ✔ Packaged knitr 1.48.6 (2.3s) ✔ Installed MultiAssayExperiment 1.30.3 (324ms) ℹ Building knitr 1.48.6 ✔ Installed S4Arrays 1.4.1 (413ms) ✔ Installed S4Vectors 0.42.1 (114ms) ✔ Installed SparseArray 1.4.8 (72ms) ✔ Installed SummarizedExperiment 1.34.0 (116ms) ✔ Installed UCSC.utils 1.0.0 (164ms) ✔ Installed XVector 0.44.0 (177ms) ✔ Built rlang 1.1.4.9000 (22.7s) ✔ Installed zlibbioc 1.50.0 (240ms) ✔ Installed GenomeInfoDbData 1.2.12 (201ms) ✔ Installed rlang 1.1.4.9000 (github::r-lib/rlang@3d48c13) (253ms) ℹ Packaging teal.code 0.5.0.9010 ✔ Installed rlistings 0.2.9 (179ms) ℹ Packaging bslib 0.8.0.9000 ℹ Packaging rvest 1.0.4.9000 ℹ Building gdtools 0.4.0 ✔ Packaged teal.code 0.5.0.9010 (1.5s) ℹ Building teal.code 0.5.0.9010 ✔ Packaged rvest 1.0.4.9000 (1.5s) ℹ Building rvest 1.0.4.9000 ✔ Packaged bslib 0.8.0.9000 (5.9s) ℹ Building bslib 0.8.0.9000 ✔ Built teal.code 0.5.0.9010 (5.5s) ✔ Installed teal.code 0.5.0.9010 (github::insightsengineering/teal.code@2c580e9) (91ms) ℹ Packaging teal.data 0.6.0.9012 ✔ Packaged teal.data 0.6.0.9012 (1.9s) ℹ Building teal.data 0.6.0.9012 ✔ Built knitr 1.48.6 (11.3s) ✔ Installed knitr 1.48.6 (github::yihui/knitr@0f59bba) (184ms) ✔ Built rvest 1.0.4.9000 (12.4s) ✔ Installed rvest 1.0.4.9000 (github::tidyverse/rvest@c9be5b8) (83ms) ✔ Built teal.data 0.6.0.9012 (6.8s) ✔ Installed teal.data 0.6.0.9012 (github::insightsengineering/teal.data@b5ccb1d) (66ms) ✔ Built bslib 0.8.0.9000 (12.8s) ✔ Installed bslib 0.8.0.9000 (github::rstudio/bslib@85b0428) (496ms) ℹ Packaging shinyvalidate 0.1.3.9000 ℹ Packaging shinyjs 2.1.0.9006 ℹ Packaging shinytest2 0.3.2.9000 ℹ Packaging teal.logger 0.2.0.9011 ✔ Packaged shinyvalidate 0.1.3.9000 (1.5s) ℹ Building shinyvalidate 0.1.3.9000 ✔ Packaged teal.logger 0.2.0.9011 (1.4s) ℹ Building teal.logger 0.2.0.9011 ✔ Packaged shinyjs 2.1.0.9006 (2s) ℹ Building shinyjs 2.1.0.9006 ✔ Packaged shinytest2 0.3.2.9000 (3.1s) ℹ Building shinytest2 0.3.2.9000 ✔ Built shinyvalidate 0.1.3.9000 (2.9s) ✔ Installed shinyvalidate 0.1.3.9000 (github::rstudio/shinyvalidate@1c64265) (87ms) ✔ Built shinyjs 2.1.0.9006 (2.8s) ✔ Installed shinyjs 2.1.0.9006 (github::daattali/shinyjs@0648faa) (73ms) ℹ Packaging teal.widgets 0.4.2.9022 ✔ Built teal.logger 0.2.0.9011 (3.9s) ✔ Installed teal.logger 0.2.0.9011 (github::insightsengineering/teal.logger@1e34763) (61ms) ✔ Packaged teal.widgets 0.4.2.9022 (1.4s) ℹ Building teal.widgets 0.4.2.9022 ✔ Built teal.widgets 0.4.2.9022 (3.8s) ✔ Installed teal.widgets 0.4.2.9022 (github::insightsengineering/teal.widgets@8a39dd4) (66ms) ℹ Packaging teal.slice 0.5.1.9012 ✔ Packaged teal.slice 0.5.1.9012 (1.7s) ℹ Building teal.slice 0.5.1.9012 ✔ Built gdtools 0.4.0 (34.9s) ✔ Installed gdtools 0.4.0 (54ms) ℹ Building flextable 0.9.6 ✔ Built shinytest2 0.3.2.9000 (12s) ✔ Installed shinytest2 0.3.2.9000 (github::rstudio/shinytest2@ffa9e3c) (70ms) ✔ Built teal.slice 0.5.1.9012 (13.7s) ✔ Installed teal.slice 0.5.1.9012 (github::insightsengineering/teal.slice@aa05f7f) (69ms) ✔ Built flextable 0.9.6 (17.9s) ✔ Installed flextable 0.9.6 (80ms) ℹ Packaging teal.reporter 0.3.1.9016 ✔ Packaged teal.reporter 0.3.1.9016 (1.2s) ℹ Building teal.reporter 0.3.1.9016 ✔ Built teal.reporter 0.3.1.9016 (8.1s) ✔ Installed teal.reporter 0.3.1.9016 (github::insightsengineering/teal.reporter@4fefa7e) (51ms) ── R CMD build ───────────────────────────────────────────────────────────────────────────────────────────────────────────── ✔ checking for file ‘.../DESCRIPTION’ ... ─ preparing ‘teal’: (1.6s) ✔ checking DESCRIPTION meta-information ... ─ installing the package to build vignettes ✔ creating vignettes (19.1s) ─ checking for LF line-endings in source and make files and shell scripts (1.5s) ─ checking for empty or unneeded directories Removed empty directory ‘teal/tests/testthat/_snaps’ Omitted ‘LazyData’ from DESCRIPTION ─ building ‘teal_0.15.2.9069.tar.gz’ ── R CMD check ───────────────────────────────────────────────────────────────────────────────────────────────────────────── ─ using log directory ‘/private/var/folders/2q/3msvdr052rbctgldyf85xy240000gp/T/Rtmpbkhf3v/file28657f48d7df/teal.Rcheck’ (372ms) ─ using R version 4.4.1 (2024-06-14) ─ using platform: x86_64-apple-darwin20 ─ R was compiled by Apple clang version 14.0.0 (clang-1400.0.29.202) GNU Fortran (GCC) 12.2.0 ─ running under: macOS Sonoma 14.6.1 ─ using session charset: UTF-8 ✔ checking for file ‘teal/DESCRIPTION’ (473ms) ─ checking extension type ... Package ─ this is package ‘teal’ version ‘0.15.2.9069’ ─ package encoding: UTF-8 ✔ checking package namespace information ... ✔ checking package dependencies (3.3s) ✔ checking if this is a source package ... ✔ checking if there is a namespace ✔ checking for executable files (2s) ✔ checking for hidden files and directories ... ✔ checking for portable file names ... ✔ checking for sufficient/correct file permissions ... ✔ checking whether package ‘teal’ can be installed (8s) ✔ checking installed package size ... ✔ checking package directory ✔ checking ‘build’ directory ... ✔ checking DESCRIPTION meta-information (346ms) ✔ checking top-level files ✔ checking for left-over files ... ✔ checking index information (390ms) ✔ checking package subdirectories (1.5s) ✔ checking code files for non-ASCII characters ... ✔ checking R files for syntax errors ... ✔ checking whether the package can be loaded (882ms) ✔ checking whether the package can be loaded with stated dependencies (954ms) ✔ checking whether the package can be unloaded cleanly (877ms) ✔ checking whether the namespace can be loaded with stated dependencies (785ms) ✔ checking whether the namespace can be unloaded cleanly (852ms) ✔ checking whether startup messages can be suppressed (1.7s) ✔ checking dependencies in R code (1.6s) ✔ checking S3 generic/method consistency (1.1s) ✔ checking replacement functions (703ms) ✔ checking foreign function calls (1.1s) ✔ checking R code for possible problems (5.7s) ✔ checking Rd files (888ms) ✔ checking Rd metadata ... ✔ checking Rd cross-references (375ms) ✔ checking for missing documentation entries (911ms) ✔ checking for code/documentation mismatches (3.1s) ✔ checking Rd \usage sections (2.2s) ✔ checking Rd contents (342ms) ✔ checking for unstated dependencies in examples (570ms) ✔ checking installed files from ‘inst/doc’ ... ✔ checking files in ‘vignettes’ (395ms) ✔ checking examples (2.1s) ✔ checking for unstated dependencies in ‘tests’ ... ─ checking tests ... E Running ‘testthat.R’ (9m 45s) Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: 14. │ │ │ └─env$runWith(self, func) 15. │ │ │ └─shiny (local) contextFunc() 16. │ │ │ └─shiny::..stacktraceon..(expr) 17. │ │ ├─shiny::withReactiveDomain(...) 18. │ │ │ └─promises::with_promise_domain(...) 19. │ │ │ └─domain$wrapSync(expr) 20. │ │ │ └─base::force(expr) 21. │ │ └─withr::with_options(...) 22. │ │ └─base::force(code) 23. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env()) 24. └─testthat::expect_true(file.exists(renv_filename)) at test-module_teal.R:90:13 [ FAIL 1 | WARN 0 | SKIP 46 | PASS 405 ] Error: Test failures Execution halted ✔ checking for unstated dependencies in vignettes (685ms) ✔ checking package vignettes ... ✔ checking re-building of vignette outputs (23.5s) ✔ checking PDF version of manual (8.5s) See ‘/private/var/folders/2q/3msvdr052rbctgldyf85xy240000gp/T/Rtmpbkhf3v/file28657f48d7df/teal.Rcheck/00check.log’ for details. ```
m7pr commented 3 weeks ago

The difference between those strategies are teal dependency versions

When it comes to renv, 1.0.9.9000 was never release on CRAN. Only 1.0.7, 1.0.8 and 1.0.9 and now 1.0.10 (since 3 days) https://cran.r-project.org/src/contrib/Archive/renv/ were released.

When it comes to mirari 1.2.0 is the highest possible CRAN release https://cran.r-project.org/web/packages/mirai/index.html and 1.2.0.90** is the GitHub version. https://github.com/shikokuchuo/mirai/blob/main/DESCRIPTION#L4

I don't think we should pay attention to max dependency test as it takes development versions of packages. For example there is no mirai 1.2.0.9025 anymore as GitHub today states the latest version is 1.2.0.9030. Frankly the pace of changes in dependent packages on their GitHub repositories is that high that we are not able to stay up to date with all development versions. And there is no point in my opinion as they keep changing every day. IMHO we should stick to the released versions on CRAN. the max dependency strategy is only a nice to have, but not a must IMHO.

m7pr commented 3 weeks ago

Test do not fail locally under

> library(mirai);library(renv);library(callr)
> packageVersion('mirai');packageVersion('renv');packageVersion('callr')
[1] ‘1.2.0.9030’
[1] ‘1.0.7’
[1] ‘3.7.6’

but fails for

> library(mirai);library(renv);library(callr)
> packageVersion('mirai');packageVersion('renv');packageVersion('callr')
[1] ‘1.2.0.9030’
[1] ‘1.0.10’
[1] ‘3.7.6’
m7pr commented 3 weeks ago

And I do see

[WARN] 2024-10-08 11:55:37.7643 pid:21244 token:[76c0d459] teal Lockfile creation failed.

In the logs for a simple teal app

app <- teal::init(
  data = teal.data::teal_data(iris = iris),
  modules = modules(example_module())
)
shinyApp(app$ui, app$server)
m7pr commented 3 weeks ago

It's the newest renv that breaks

> getwd()
[1] "C:/Rprojects/teal"
> renv::snapshot(
+   lockfile = 'teal_app.lock',
+   prompt = FALSE,
+   force = TRUE,
+   type = renv::settings$snapshot.type() 
+ )
Error in if (package == "R") return() : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In node[[2L]] : subscript out of bounds
> packageVersion('renv')
[1] ‘1.0.10’
m7pr commented 3 weeks ago

For renv 1.0.9 it works fine

> packageVersion('renv')
[1] ‘1.0.9’
> renv::snapshot(
+   lockfile = 'teal_app.lock',
+   prompt = FALSE,
+   force = TRUE,
+   type = renv::settings$snapshot.type() 
+ )

- Lockfile written to "teal_app.lock".
m7pr commented 3 weeks ago

Regular

renv::snapshot(
  prompt = FALSE,
  force = TRUE
)

works in teal.osprey and in teal.modules.general but does not work in teal.

What is different between teal and teal.osprey or teal.modules.general is that renv::dependencies() returns more columns for teal than for other packages.

In tmg

image

In teal

image
m7pr commented 3 weeks ago

And there is some traceback entry for teal.slice

image
m7pr commented 3 weeks ago

It is something broken in our tests/ directory that prevents renv to make a snapshot. When this directory is deleted, the snapshot is performed regurarly.

> renv::snapshot()
Error in if (package == "R") return() : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In node[[2L]] : subscript out of bounds
> unlink('tests/', recursive = TRUE)
> renv::snapshot()
The following package(s) were installed from an unknown source:
- teal.logger  [0.2.0.9008]
- teal.widgets [0.4.2.9020]
renv may be unable to restore these packages in the future.
Consider reinstalling these packages from a known source (e.g. CRAN).

Do you want to proceed? [Y/n]: n
m7pr commented 3 weeks ago

I managed to figure out which file causes the renv to break - it's tests/testthat/test-modules.R

> renv::snapshot()
Error in if (package == "R") return() : 
  missing value where TRUE/FALSE needed
In addition: Warning message:
In node[[2L]] : subscript out of bounds
> file.remove('tests/testthat/test-modules.R')
[1] TRUE
> renv::snapshot()
The following package(s) were installed from an unknown source:
- teal.logger  [0.2.0.9008]
- teal.widgets [0.4.2.9020]
renv may be unable to restore these packages in the future.
Consider reinstalling these packages from a known source (e.g. CRAN).

Do you want to proceed? [Y/n]: n
m7pr commented 3 weeks ago

Long story short is that, for the new renv (1.1.0) that was released 3 days ago on CRAN, it is the function module() that, when used in tests/ without any extra parameters, breaks renv::snapshot() creation, which is used in the lockfile process. So, the lockfile test breaks because we cannot create the lockfile.

This is bizzare and some edge case of renv. To test this just run renv::snapshot() on main, and on below 2 PRs.

I provided 2 PR to solve this, but this is not an actual solution.

averissimo commented 3 weeks ago

Thanks for this @m7pr I was flabergasted with renv failing on my teal package install.

I got it to snapshot when restarting the renv library from scratch.

It's weird that module is creating problems as it doesn't seem to be overwritten by testthat, renv and others that would be obvious

edit:

image

averissimo commented 3 weeks ago

I don't think we should pay attention to max dependency test as it takes development versions of packages. For example there is no mirai 1.2.0.9025 anymore as GitHub today states the latest version is 1.2.0.9030. Frankly the pace of changes in dependent packages on their GitHub repositories is that high that we are not able to stay up to date with all development versions. And there is no point in my opinion as they keep changing every day. IMHO we should stick to the released versions on CRAN. the max dependency strategy is only a nice to have, but not a must IMHO.

I agree that max strategy should not be a top priority, as I've seen many problems being resolved on their own.

On the other hand, we already have contributed to identify 3 or 4 upstream PRs (and in at least 2 occasions fix) that would've broken one of i. Package's functionality or; ii. tests

I think we should at least investigate the cause of the error and decide the priority case to case.

m7pr commented 3 weeks ago

module does not need to be renv function, it can be some whitelist keyword that they omit. however renv uses {modules} package and this package has modules::module function.

When you seek for module phrase in renv it looks like they do something with it https://github.com/search?q=repo%3Arstudio%2Frenv%20module&type=code Maybe they have special treatment, as this is reserved for reticulate/python modules?

m7pr commented 3 weeks ago

I raised the issue on rstudio/renv but they have 160 opened issues : P https://github.com/rstudio/renv/issues/2007

donyunardi commented 3 weeks ago

This issue is starting to cause problem in our PR pipeline too.

Look at #1353 R CMD Check pipeline: https://github.com/insightsengineering/teal/actions/runs/11232478215/job/31224159187?pr=1353

m7pr commented 3 weeks ago

yes, becuase renv was published 3 days ago on CRAN and this new version has this bug

m7pr commented 3 weeks ago

@pawelru @donyunardi @gogonzo @averissimo @vedhav are you OK including this temporary change for now https://github.com/insightsengineering/teal/pull/1365 so it unblocks our CHECK and SCHEDULED job? Without this, we no longer can merge any PR. Each PR is now based on new version of renv that fails because we have an exported module function that is used in tests without parameters. When we pass default parameter, the test pass as renv::snapshot is able to be created, hence the test for lockfile creation passes.

Other alternative is to remove the test for lockfile temporarily.

pawelru commented 3 weeks ago

My concern is that that change won't be temporary and we won't fix it. Look, if you merge it as is then it would be difficult to isolate items to revert (assuming a fixed version of renv would be available). I would rather do skip() instead and provide informative message linking to here and renv issue. This way we would be able to isolate and revert in the future.

donyunardi commented 3 weeks ago

It looks like the bug has been addressed.

Thanks for the bug report, and especially for taking the time to provide a reproducible example! This should now be fixed up in the development version of renv; I'll try to get a patch release onto CRAN soon.

Let's skip the tests for now and revert it once the patch release is on CRAN.

m7pr commented 3 weeks ago

If this is already fixed in the upstream package (sick!), then let's put a requirement on a dev version of this package in DESCRIPTION renv 1.0.10.9000

m7pr commented 3 weeks ago

@pawelru I made a PR where we increase the min version of renv https://github.com/insightsengineering/teal/pull/1372 and extend lookup_refs for the time it is dev on GitHub but not yet on CRAN