carpentries / lesson-transition

Workflow for transitioning lessons to The Carpentries Workbench
https://carpentries.github.io/workbench/transition-schedule.html
MIT License
2 stars 5 forks source link

Add docker operation mode #98

Open multimeric opened 4 months ago

multimeric commented 4 months ago

Motivation: it's surprisingly difficult to get this to run, because there are some hidden dependencies and tricks required to get it working. Also, not everything is portable, as shown by #96. See also #95 for more motivation.

Changes

Closes #95.

Testing I have already tested this on https://github.com/carpentries-incubator/docker-introduction, which completed successfully. Some tweaks are needed however.

sstevens2 commented 3 months ago

@multimeric really appreciate your putting this together! And that you used it to convert my docker lesson! Must have felt a bit circular.

I'm trying to use this branch to convert my git lesson (with PRs/branches/conflicts) in the incubator to the workbench. I got the following error when I tried to build the image.

ERROR: failed to solve: process "/usr/local/bin/_dockerfile_shell.sh R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'" did not complete successfully: exit code: 1

Any help you can provide?

multimeric commented 3 months ago

Happy to help. Can you list the steps you used, and the output from the build step?

sstevens2 commented 3 months ago

I cloned the lesson transition repo, then updated the submodule. Then ran the build command. Below is the full output from the build command.

Full output here ``` $ docker build . --tag lesson-transition [+] Building 68.2s (11/12) docker:desktop-linux => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 678B 0.0s => [internal] load metadata for docker.io/mambaorg/micromamba:1.5.8 0.6s => [auth] mambaorg/micromamba:pull token for registry-1.docker.io 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [1/7] FROM docker.io/mambaorg/micromamba:1.5.8@sha256:7644c62611ba0b661d7dbd905c1c66af9c8a9253cd0b483396500d95120f8415 0.0s => [internal] load build context 0.4s => => transferring context: 41.39MB 0.4s => CACHED [2/7] COPY --chown=mambauser:mambauser env.yaml /tmp/env.yaml 0.0s => CACHED [3/7] RUN micromamba install -y -n base -f /tmp/env.yaml && micromamba clean --all --yes 0.0s => [4/7] COPY --chown=mambauser:mambauser . lesson-transition 0.2s => [5/7] WORKDIR lesson-transition 0.0s => ERROR [6/7] RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()' 66.9s ------ > [6/7] RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()': 0.350 0.350 R version 4.3.2 (2023-10-31) -- "Eye Holes" 0.350 Copyright (C) 2023 The R Foundation for Statistical Computing 0.350 Platform: aarch64-conda-linux-gnu (64-bit) 0.350 0.350 R is free software and comes with ABSOLUTELY NO WARRANTY. 0.350 You are welcome to redistribute it under certain conditions. 0.350 Type 'license()' or 'licence()' for distribution details. 0.350 0.350 R is a collaborative project with many contributors. 0.350 Type 'contributors()' for more information and 0.350 'citation()' on how to cite R or R packages in publications. 0.350 0.350 Type 'demo()' for some demos, 'help()' for on-line help, or 0.350 'help.start()' for an HTML browser interface to help. 0.350 Type 'q()' to quit R. 0.350 0.390 # Bootstrapping renv 1.0.3 --------------------------------------------------- 0.390 - Downloading renv ... OK 1.124 - Installing renv ... OK 5.978 6.077 - Project '/tmp/lesson-transition' loaded. [renv 1.0.3] 6.080 - None of the packages recorded in the lockfile are currently installed. 6.102 > options(renv.config.pak.enabled = TRUE); renv::restore() 6.322 # Downloading packages ------------------------------------------------------- 6.323 - Downloading pak from r-lib ... OK [8.3 Mb in 0.44s] 6.993 Successfully downloaded 1 package in 0.74 seconds. 6.993 6.994 The following package(s) will be installed: 6.994 - pak [0.7.2] 6.994 These packages will be installed into "/tmp/lesson-transition/renv/library/R-4.3/aarch64-conda-linux-gnu". 6.994 6.994 # Installing packages -------------------------------------------------------- 7.096 - Installing pak ... OK [installed binary and cached in 0.92s] 8.022 Successfully installed 1 package in 1 second. 8.898 ! Using bundled GitHub PAT. Please add your own PAT using `gitcreds::gitcreds_set()`. 9.302 11.37 ✔ Updated metadata database: 3.83 MB in 9 files. 11.37 11.38 ℹ Updating metadata database 15.67 ✔ Updating metadata database ... done 15.67 20.49 20.49 → Will install 86 packages. 20.50 → Will download 45 CRAN packages (13.33 MB). 20.50 → Will download 41 packages with unknown size. 20.51 + askpass 1.2.0 [bld][cmp][dl] (6.04 kB) 20.51 + assertthat 0.2.1 [bld][dl] (12.74 kB) 20.51 + base64enc 0.1-3 [bld][cmp][dl] (7.83 kB) 20.51 + brio 1.1.4 [bld][cmp][dl] 20.51 + bslib 0.6.1 [bld][dl] 20.51 + cachem 1.0.8 [bld][cmp][dl] 20.51 + callr 3.7.3 [bld][dl] 20.51 + cli 3.6.2 [bld][cmp][dl] 20.51 + clipr 0.8.0 [bld][dl] (21.90 kB) 20.51 + commonmark 1.9.1 [bld][cmp][dl] (145.98 kB) 20.51 + cpp11 0.4.7 [bld][dl] (285.78 kB) 20.51 + crayon 1.5.2 [bld][dl] 20.51 + credentials 2.0.1 [bld][dl] (283.84 kB) + ✖ git 20.51 + curl 5.2.0 [bld][cmp][dl] + ✖ libcurl4-openssl-dev, ✖ libssl-dev 20.51 + desc 1.4.3 [bld][dl] (80.07 kB) 20.51 + digest 0.6.34 [bld][cmp][dl] 20.51 + docopt 0.7.1 [bld][dl] (29.46 kB) 20.51 + downlit 0.4.3 [bld][dl] 20.51 + dplyr 1.1.4 [bld][cmp][dl] (1.21 MB) 20.51 + ellipsis 0.3.2 [bld][cmp][dl] (8.07 kB) 20.51 + evaluate 0.23 [bld][dl] 20.51 + fansi 1.0.6 [bld][cmp][dl] (482.48 kB) 20.51 + fastmap 1.1.1 [bld][cmp][dl] 20.51 + fontawesome 0.5.2 [bld][dl] (1.28 MB) 20.51 + fs 1.6.3 [bld][cmp][dl] + ✖ make 20.51 + generics 0.1.3 [bld][dl] (172.20 kB) 20.51 + gert 2.0.1 [bld][cmp][dl] (122.72 kB) + ✖ libgit2-dev 20.51 + gh 1.4.0 [bld][dl] 20.51 + gitcreds 0.1.2 [bld][dl] (62.57 kB) + ✖ git 20.51 + glue 1.7.0 [bld][cmp][dl] (105.42 kB) 20.51 + here 1.0.1 [bld][dl] (32.95 kB) 20.51 + highr 0.10 [bld][dl] 20.51 + htmltools 0.5.7 [bld][cmp][dl] 20.51 + httpuv 1.6.14 [bld][cmp][dl] + ✖ make, ✖ zlib1g-dev 20.51 + httr 1.4.7 [bld][dl] (118.50 kB) 20.51 + httr2 1.0.0 [bld][dl] 20.51 + ini 0.3.1 [bld][dl] (3.49 kB) 20.51 + jquerylib 0.1.4 [bld][dl] (520.21 kB) 20.51 + jsonlite 1.8.8 [bld][cmp][dl] (1.05 MB) 20.51 + knitr 1.45 [bld][dl] + ✖ pandoc 20.51 + later 1.3.2 [bld][cmp][dl] (63.60 kB) 20.51 + lifecycle 1.0.4 [bld][dl] (107.66 kB) 20.51 + magrittr 2.0.3 [bld][cmp][dl] (267.07 kB) 20.51 + memoise 2.0.1 [bld][dl] (17.85 kB) 20.51 + mime 0.12 [bld][cmp][dl] (12.56 kB) 20.51 + openssl 2.1.1 [bld][cmp][dl] + ✖ libssl-dev 20.51 + pandoc 0.2.0 [bld][dl] (42.68 kB) 20.51 + pegboard 0.7.6 [bld][cmp][dl] (GitHub: ad2542f) 20.51 + pillar 1.9.0 [bld][dl] (444.53 kB) 20.51 + pkgconfig 2.0.3 [bld][dl] (6.08 kB) 20.51 + pkgdown 2.0.7 [bld][dl] + ✖ pandoc 20.51 + processx 3.8.3 [bld][cmp][dl] 20.51 + promises 1.2.1 [bld][cmp][dl] 20.51 + ps 1.7.6 [bld][cmp][dl] 20.51 + purrr 1.0.2 [bld][cmp][dl] (220.87 kB) 20.51 + R6 2.5.1 [bld][dl] (63.42 kB) 20.51 + ragg 1.2.7 [bld][cmp][dl] + ✖ libfreetype6-dev, ✖ libjpeg-dev, ✖ libpng-dev, ✖ libtiff-dev 20.51 + rappdirs 0.3.3 [bld][cmp][dl] (12.29 kB) 20.51 + Rcpp 1.0.12 [bld][cmp][dl] (3.43 MB) 20.51 + rlang 1.1.3 [bld][cmp][dl] 20.51 + rmarkdown 2.25 [bld][dl] + ✖ pandoc 20.51 + rprojroot 2.0.4 [bld][dl] (59.95 kB) 20.51 + rstudioapi 0.15.0 [bld][dl] 20.51 + sandpaper 0.16.5 [bld][cmp][dl] (GitHub: 82d0ee3) + ✖ pandoc 20.51 + sass 0.4.8 [bld][cmp][dl] + ✖ make 20.51 + servr 0.29 [bld][dl] 20.51 + stringi 1.8.3 [bld][cmp][dl] + ✖ libicu-dev 20.51 + stringr 1.5.1 [bld][dl] (176.60 kB) 20.51 + sys 3.4.2 [bld][cmp][dl] (20.17 kB) 20.51 + systemfonts 1.0.5 [bld][cmp][dl] + ✖ libfontconfig1-dev, ✖ libfreetype6-dev 20.51 + textshaping 0.3.7 [bld][cmp][dl] + ✖ libfreetype6-dev, ✖ libfribidi-dev, ✖ libharfbuzz-dev 20.51 + tibble 3.2.1 [bld][cmp][dl] (565.98 kB) 20.51 + tidyselect 1.2.0 [bld][dl] 20.51 + tinkr 0.2.0.9000 [bld][cmp][dl] (GitHub: 8a57235) 20.51 + tinytex 0.49 [bld][dl] 20.51 + usethis 2.2.2 [bld][dl] 20.51 + utf8 1.2.4 [bld][cmp][dl] (241.08 kB) 20.51 + varnish 1.0.3 [bld][cmp][dl] (GitHub: 1f1e219) 20.51 + vctrs 0.6.5 [bld][cmp][dl] (969.07 kB) 20.51 + whisker 0.4.1 [bld][dl] (28.59 kB) 20.51 + withr 3.0.0 [bld][dl] (107.68 kB) 20.51 + xfun 0.42 [bld][cmp][dl] 20.51 + xml2 1.3.6 [bld][cmp][dl] (294.71 kB) + ✖ libxml2-dev 20.51 + xslt 1.4.5 [bld][cmp][dl] (17.79 kB) + ✖ libxslt-dev 20.51 + yaml 2.3.8 [bld][cmp][dl] 20.51 + zip 2.3.1 [bld][cmp][dl] (111.28 kB) 20.52 ✖ Missing 17 system packages. You'll probably need to install them manually: 20.52 + git - credentials, gitcreds 20.52 + libcurl4-openssl-dev - curl 20.52 + libfontconfig1-dev - systemfonts 20.52 + libfreetype6-dev - systemfonts, textshaping, ragg 20.52 + libfribidi-dev - textshaping 20.52 + libgit2-dev - gert 20.52 + libharfbuzz-dev - textshaping 20.52 + libicu-dev - stringi 20.52 + libjpeg-dev - ragg 20.52 + libpng-dev - ragg 20.52 + libssl-dev - curl, openssl 20.52 + libtiff-dev - ragg 20.52 + libxml2-dev - xml2 20.52 + libxslt-dev - xslt 20.52 + make - fs, httpuv, sass 20.52 + pandoc - sandpaper, knitr, pkgdown, rmarkdown 20.52 + zlib1g-dev - httpuv 20.66 ℹ Getting 45 pkgs (13.33 MB) and 41 pkgs with unknown sizes 21.46 ✔ Got brio 1.1.4 (source) (13.08 kB) 21.51 ✔ Got downlit 0.4.3 (source) (36.89 kB) 21.54 ✔ Got systemfonts 1.0.5 (source) (80.64 kB) 21.57 ✔ Got textshaping 0.3.7 (source) (35.10 kB) 21.63 ✔ Got htmltools 0.5.7 (source) (134.68 kB) 21.64 ✔ Got yaml 2.3.8 (source) (94.76 kB) 21.67 ✔ Got digest 0.6.34 (source) (178.16 kB) 21.69 ✔ Got askpass 1.2.0 (source) (6.04 kB) 21.71 ✔ Got base64enc 0.1-3 (source) (7.83 kB) 21.72 ✔ Got httr2 1.0.0 (source) (212.03 kB) 21.74 ✔ Got sys 3.4.2 (source) (20.32 kB) 21.74 ✔ Got assertthat 0.2.1 (source) (12.61 kB) 21.75 ✔ Got evaluate 0.23 (source) (28.35 kB) 21.76 ✔ Got R6 2.5.1 (source) (64.11 kB) 21.77 ✔ Got gh 1.4.0 (source) (41.21 kB) 21.79 ✔ Got xslt 1.4.5 (source) (17.98 kB) 21.81 ✔ Got callr 3.7.3 (source) (97.81 kB) 21.87 ✔ Got crayon 1.5.2 (source) (40.57 kB) 21.90 ✔ Got zip 2.3.1 (source) (111.44 kB) 21.93 ✔ Got pandoc 0.2.0 (source) (42.76 kB) 21.94 ✔ Got ps 1.7.6 (source) (129.49 kB) 21.95 ✔ Got here 1.0.1 (source) (32.91 kB) 22.00 ✔ Got xml2 1.3.6 (source) (294.72 kB) 22.02 ✔ Got ragg 1.2.7 (source) (425.50 kB) 22.06 ✔ Got httr 1.4.7 (source) (118.57 kB) 22.11 ✔ Got fansi 1.0.6 (source) (482.60 kB) 22.26 ✔ Got lifecycle 1.0.4 (source) (108.36 kB) 22.30 ✔ Got openssl 2.1.1 (source) (1.21 MB) 22.32 ✔ Got pkgconfig 2.0.3 (source) (6.10 kB) 22.35 ✔ Got curl 5.2.0 (source) (715.88 kB) 22.45 ✔ Got rlang 1.1.3 (source) (763.76 kB) 22.45 ✔ Got tidyselect 1.2.0 (source) (101.50 kB) 22.50 ✔ Got dplyr 1.1.4 (source) (1.21 MB) 22.52 ✔ Got docopt 0.7.1 (source) (29.57 kB) 22.53 ✔ Got credentials 2.0.1 (source) (283.00 kB) 22.57 ✔ Got pillar 1.9.0 (source) (441.98 kB) 22.63 ✔ Got jquerylib 0.1.4 (source) (520.37 kB) 22.79 ✔ Got vctrs 0.6.5 (source) (967.95 kB) 22.80 ✔ Got tinkr 0.2.0.9000 (source) (169.22 kB) 23.05 ✔ Got pkgdown 2.0.7 (source) (871.47 kB) 23.11 ✔ Got servr 0.29 (source) (23.05 kB) 23.12 ✔ Got ellipsis 0.3.2 (source) (8.30 kB) 23.24 ✔ Got promises 1.2.1 (source) (3.15 MB) 23.34 ✔ Got Rcpp 1.0.12 (source) (3.43 MB) 23.40 ✔ Got glue 1.7.0 (source) (105.90 kB) 23.40 ✔ Got withr 3.0.0 (source) (108.37 kB) 23.46 ✔ Got gitcreds 0.1.2 (source) (62.81 kB) 23.47 ✔ Got utf8 1.2.4 (source) (239.71 kB) 23.51 ✔ Got commonmark 1.9.1 (source) (146.41 kB) 23.53 ✔ Got memoise 2.0.1 (source) (17.88 kB) 23.54 ✔ Got magrittr 2.0.3 (source) (267.20 kB) 23.59 ✔ Got later 1.3.2 (source) (62.18 kB) 23.63 ✔ Got rprojroot 2.0.4 (source) (61.64 kB) 23.65 ✔ Got cpp11 0.4.7 (source) (285.35 kB) 23.67 ✔ Got cli 3.6.2 (source) (569.77 kB) 23.69 ✔ Got httpuv 1.6.14 (source) (1.88 MB) 23.71 ✔ Got highr 0.10 (source) (15.08 kB) 23.75 ✔ Got tibble 3.2.1 (source) (565.72 kB) 23.77 ✔ Got purrr 1.0.2 (source) (218.46 kB) 23.78 ✔ Got clipr 0.8.0 (source) (21.95 kB) 23.82 ✔ Got desc 1.4.3 (source) (80.47 kB) 23.82 ✔ Got whisker 0.4.1 (source) (28.69 kB) 23.85 ✔ Got gert 2.0.1 (source) (123.48 kB) 23.87 ✔ Got processx 3.8.3 (source) (163.68 kB) 23.89 ✔ Got generics 0.1.3 (source) (173.58 kB) 23.91 ✔ Got fastmap 1.1.1 (source) (46.41 kB) 23.93 ✔ Got stringr 1.5.1 (source) (177.06 kB) 23.96 ✔ Got rappdirs 0.3.3 (source) (12.20 kB) 23.97 ✔ Got ini 0.3.1 (source) (3.48 kB) 23.98 ✔ Got mime 0.12 (source) (12.60 kB) 24.04 ✔ Got rstudioapi 0.15.0 (source) (115.69 kB) 24.09 ✔ Got sass 0.4.8 (source) (3.03 MB) 24.10 ✔ Got cachem 1.0.8 (source) (26.51 kB) 24.11 ✔ Got tinytex 0.49 (source) (34.20 kB) 24.18 ✔ Got jsonlite 1.8.8 (source) (1.05 MB) 24.25 ✔ Got usethis 2.2.2 (source) (371.06 kB) 24.29 ✔ Got fs 1.6.3 (source) (1.19 MB) 24.33 ✔ Got xfun 0.42 (source) (142.60 kB) 24.39 ✔ Got fontawesome 0.5.2 (source) (1.27 MB) 24.48 ✔ Got knitr 1.45 (source) (898.76 kB) 24.58 ✔ Got rmarkdown 2.25 (source) (2.19 MB) 24.69 ✔ Got bslib 0.6.1 (source) (6.06 MB) 24.77 ✔ Got pegboard 0.7.6 (source) (607.12 kB) 24.97 ✔ Got sandpaper 0.16.5 (source) (963.54 kB) 25.07 ✔ Got varnish 1.0.3 (source) (2.51 MB) 25.34 ✔ Got stringi 1.8.3 (source) (11.92 MB) 25.40 ℹ Packaging varnish 1.0.3 25.41 ℹ Building brio 1.1.4 25.70 ℹ Building digest 0.6.34 25.75 ℹ Building xfun 0.42 25.90 ℹ Building fastmap 1.1.1 25.97 ℹ Building fs 1.6.3 26.26 ℹ Building curl 5.2.0 26.35 ℹ Building yaml 2.3.8 27.18 ✔ Packaged varnish 1.0.3 (1.8s) 27.23 ℹ Building varnish 1.0.3 27.58 ✔ Built brio 1.1.4 (1.9s) 27.65 ℹ Building rlang 1.1.3 28.57 ✔ Built varnish 1.0.3 (1.2s) 28.59 ℹ Building cli 3.6.2 28.94 ✔ Built xfun 0.42 (3s) 28.98 ℹ Building rstudioapi 0.15.0 29.37 ✔ Built fastmap 1.1.1 (3.4s) 29.38 ℹ Building assertthat 0.2.1 30.47 ✔ Built assertthat 0.2.1 (1s) 30.50 ℹ Building sys 3.4.2 30.82 ✔ Built rstudioapi 0.15.0 (1.7s) 30.85 ℹ Building base64enc 0.1-3 31.00 ✔ Built curl 5.2.0 (4.6s) 31.02 ℹ Building R6 2.5.1 31.83 ✔ Built digest 0.6.34 (6s) 31.85 ✔ Built sys 3.4.2 (1.3s) 31.86 ℹ Building Rcpp 1.0.12 32.42 ✔ Built base64enc 0.1-3 (1.5s) 32.45 ✔ Built R6 2.5.1 (1.3s) 32.46 ℹ Building fansi 1.0.6 32.55 ℹ Building generics 0.1.3 32.72 ℹ Building glue 1.7.0 33.35 ✔ Built yaml 2.3.8 (6.9s) 33.37 ℹ Building magrittr 2.0.3 33.71 ✔ Built generics 0.1.3 (1.1s) 33.73 ℹ Building pkgconfig 2.0.3 34.73 ✔ Built glue 1.7.0 (1.9s) 34.79 ℹ Building utf8 1.2.4 34.93 ✔ Built pkgconfig 2.0.3 (1.1s) 35.00 ℹ Building withr 3.0.0 35.14 ✔ Built magrittr 2.0.3 (1.6s) 35.16 ℹ Building clipr 0.8.0 36.26 ✔ Built clipr 0.8.0 (1s) 36.29 ℹ Building commonmark 1.9.1 36.76 ✔ Built withr 3.0.0 (1.6s) 36.77 ℹ Building cpp11 0.4.7 38.08 ✔ Built fansi 1.0.6 (5.5s) 38.09 ℹ Building gitcreds 0.1.2 38.16 ✔ Built cpp11 0.4.7 (1.3s) 38.17 ℹ Building ini 0.3.1 39.20 ✔ Built utf8 1.2.4 (4.2s) 39.24 ℹ Building jsonlite 1.8.8 39.47 ✔ Built ini 0.3.1 (1.2s) 39.48 ℹ Building mime 0.12 39.57 ✔ Built gitcreds 0.1.2 (1.4s) 39.58 ℹ Building rappdirs 0.3.3 40.68 ✔ Built mime 0.12 (1.2s) 40.72 ℹ Building rprojroot 2.0.4 40.98 ✔ Built rappdirs 0.3.3 (1.3s) 41.00 ℹ Building whisker 0.4.1 41.08 ✔ Built cli 3.6.2 (12.1s) 41.11 ℹ Building zip 2.3.1 42.09 ✔ Built rprojroot 2.0.4 (1.3s) 42.10 ℹ Building evaluate 0.23 42.29 ✔ Built whisker 0.4.1 (1.2s) 42.31 ℹ Building crayon 1.5.2 43.21 ✔ Built evaluate 0.23 (1.1s) 43.22 ℹ Building ps 1.7.6 43.45 ✔ Built rlang 1.1.3 (15.5s) 43.47 ℹ Building docopt 0.7.1 44.40 ✔ Built crayon 1.5.2 (2s) 44.41 ℹ Building stringi 1.8.3 45.08 ✔ Built jsonlite 1.8.8 (5.7s) 45.18 ✔ Installed brio 1.1.4 (28ms) 45.27 ✔ Installed varnish 1.0.3 (github::carpentries/varnish@1f1e219) (69ms) 45.33 ✔ Installed digest 0.6.34 (34ms) 45.40 ✔ Installed xfun 0.42 (26ms) 45.41 ℹ Building highr 0.10 45.46 ✔ Built docopt 0.7.1 (1.9s) 45.48 ℹ Building tinytex 0.49 46.73 ✔ Built highr 0.10 (1.3s) 46.90 ✔ Installed fastmap 1.1.1 (137ms) 46.93 ✔ Installed highr 0.10 (18ms) 47.04 ✔ Installed curl 5.2.0 (63ms) 47.10 ✔ Installed yaml 2.3.8 (23ms) 47.17 ✔ Installed rlang 1.1.3 (34ms) 47.18 ℹ Building cachem 1.0.8 47.23 ✔ Built tinytex 0.49 (1.7s) 47.24 ℹ Building ellipsis 0.3.2 48.60 ✔ Built ps 1.7.6 (5.3s) 48.68 ✔ Installed tinytex 0.49 (21ms) 48.74 ✔ Built cachem 1.0.8 (1.5s) 48.77 ✔ Built ellipsis 0.3.2 (1.5s) 48.80 ✔ Installed cli 3.6.2 (86ms) 48.80 ℹ Building xml2 1.3.6 48.91 ✔ Installed cachem 1.0.8 (129ms) 48.92 ℹ Building memoise 2.0.1 49.07 ✔ Installed rstudioapi 0.15.0 (23ms) 49.10 ✔ Built commonmark 1.9.1 (12.8s) 49.14 ✔ Installed assertthat 0.2.1 (38ms) 49.23 ✔ Installed sys 3.4.2 (104ms) 49.23 ℹ Building askpass 1.2.0 49.34 ✔ Installed base64enc 0.1-3 (113ms) 49.39 ✔ Installed R6 2.5.1 (28ms) 49.40 ℹ Building desc 1.4.3 51.24 ✔ Built askpass 1.2.0 (2s) 51.27 ✔ Built memoise 2.0.1 (2.3s) 51.33 ✔ Installed askpass 1.2.0 (55ms) 51.33 ℹ Building openssl 2.1.1 51.59 ✔ Built desc 1.4.3 (2s) 51.62 ✔ Installed fansi 1.0.6 (323ms) 51.67 ✔ Installed generics 0.1.3 (24ms) 51.70 ✔ Installed glue 1.7.0 (50ms) 51.71 ℹ Building lifecycle 1.0.4 51.84 ✔ Installed magrittr 2.0.3 (135ms) 52.91 ✔ Installed pkgconfig 2.0.3 (1.1s) 52.97 ✔ Installed utf8 1.2.4 (25ms) 53.00 ✔ Built zip 2.3.1 (11.8s) 53.06 ✔ Installed withr 3.0.0 (70ms) 53.12 ✔ Installed clipr 0.8.0 (66ms) 53.17 ✔ Installed commonmark 1.9.1 (89ms) 53.20 ✔ Installed cpp11 0.4.7 (53ms) 53.22 ✔ Installed desc 1.4.3 (36ms) 53.23 ℹ Building systemfonts 1.0.5 53.30 ✔ Built lifecycle 1.0.4 (1.5s) 53.36 ✔ Installed lifecycle 1.0.4 (34ms) 53.37 ℹ Building vctrs 0.6.5 53.61 ✔ Installed gitcreds 0.1.2 (269ms) 53.66 ✔ Installed ini 0.3.1 (28ms) 53.75 ✔ Installed jsonlite 1.8.8 (37ms) 53.80 ✔ Installed memoise 2.0.1 (19ms) 53.84 ✔ Installed mime 0.12 (18ms) 53.88 ✔ Installed rappdirs 0.3.3 (18ms) 53.92 ✔ Installed rprojroot 2.0.4 (21ms) 53.97 ℹ Building here 1.0.1 54.98 ✔ Built here 1.0.1 (962ms) 55.03 ✔ Installed whisker 0.4.1 (18ms) 55.13 ✔ Installed zip 2.3.1 (70ms) 55.18 ✔ Installed here 1.0.1 (27ms) 55.23 ✔ Installed ellipsis 0.3.2 (21ms) 55.24 ℹ Building htmltools 0.5.7 56.71 ✔ Built xml2 1.3.6 (7.8s) 56.77 ✔ Installed xml2 1.3.6 (32ms) 56.82 ✔ Installed evaluate 0.23 (36ms) 56.82 ℹ Building knitr 1.45 57.96 ✔ Built openssl 2.1.1 (6.4s) 58.04 ✔ Installed openssl 2.1.1 (52ms) 58.05 ℹ Building credentials 2.0.1 58.41 ✔ Built fs 1.6.3 (32.1s) 58.43 ℹ Building httr 1.4.7 58.52 ✔ Built htmltools 0.5.7 (3.2s) 58.68 ✔ Installed htmltools 0.5.7 (58ms) 58.69 ℹ Building fontawesome 0.5.2 59.63 ✔ Built credentials 2.0.1 (1.5s) 59.66 ℹ Building jquerylib 0.1.4 61.02 ✔ Built fontawesome 0.5.2 (2.2s) 61.08 ✔ Installed fs 1.6.3 (35ms) 61.10 ℹ Building pandoc 0.2.0 61.19 ✔ Built jquerylib 0.1.4 (1.4s) 61.23 ℹ Building sass 0.4.8 62.32 ✔ Built httr 1.4.7 (3.8s) 62.37 ✔ Installed credentials 2.0.1 (25ms) 62.39 ℹ Building gert 2.0.1 62.87 ✔ Built Rcpp 1.0.12 (30.4s) 62.90 ✔ Built knitr 1.45 (5.8s) 62.91 ✔ Built pandoc 0.2.0 (1.7s) 62.96 ✔ Installed Rcpp 1.0.12 (72ms) 62.97 ℹ Building later 1.3.2 63.07 ✔ Installed knitr 1.45 (130ms) 63.15 ✔ Installed fontawesome 0.5.2 (146ms) 63.16 ℹ Building xslt 1.4.5 63.20 ✖ Failed to build gert 2.0.1 (697ms) 66.72 Error: 66.72 ! error in pak subprocess 66.72 Caused by error in `stop_task_build(state, worker)`: 66.72 ! Failed to build source package gert. 66.72 --- 66.72 Backtrace: 66.72 1. renv::restore() 66.72 2. renv:::renv_pak_restore(lockfile = lockfile, packages = packages, exclude = exclu… 66.72 3. pak$pkg_install(remotes) 66.72 4. pak:::remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...), … 66.72 5. err$throw(res$error) 66.72 --- 66.72 Subprocess backtrace: 66.72 1. base::withCallingHandlers(cli_message = function(msg) { … 66.72 2. get("pkg_install_do_plan", asNamespace("pak"))(...) 66.72 3. proposal$install() 66.72 4. pkgdepends::install_package_plan(plan, lib = private$library, num_workers = nw, … 66.72 5. base::withCallingHandlers({ … 66.72 6. pkgdepends:::handle_events(state, events) 66.72 7. pkgdepends:::handle_event(state, i) 66.72 8. pkgdepends:::stop_task(state, worker) 66.72 9. pkgdepends:::stop_task_build(state, worker) 66.72 10. base::throw(pkg_error("Failed to build source package {.pkg {pkg}}.", … 66.72 11. | base::signalCondition(cond) 66.72 12. global (function (e) … 66.73 Traceback (most recent calls last): 66.73 6: renv::restore() 66.73 5: renv_pak_restore(lockfile = lockfile, packages = packages, exclude = exclude, 66.73 project = project) 66.73 4: pak$pkg_install(remotes) 66.73 3: remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...), 66.73 list(proposal = NULL)) 66.73 2: err$throw(res$error) 66.73 1: base::stop(cond) 66.73 Execution halted ------ Dockerfile:10 -------------------- 8 | COPY --chown=$MAMBA_USER:$MAMBA_USER . lesson-transition 9 | WORKDIR lesson-transition 10 | >>> RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()' 11 | 12 | # This disables the interactive parts of the script -------------------- ERROR: failed to solve: process "/usr/local/bin/_dockerfile_shell.sh R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'" did not complete successfully: exit code: 1 ```
multimeric commented 3 months ago

My best guess is that your docker is compiling it for ARM (the aarch64 I can see in the logs). This must cause the system dependencies to not install correctly, and therefore the dependent R packages such as gert also fail.

If you add --platform linux/amd64 to the docker build command, does it do anything differently?