Dockerfile: use pinned R dependencies#21
Conversation
|
I don't know anything about R, but running I have only run things inside a Docker container, so that is what I would recommend to do to update I haven't tested that the installed R packages actually work since I'm not sure how to do that, so you should probably try that before merging this. |
|
The pinning seems to work as intended, fs 2.1.0 was released a couple of days ago and that broke the build of the main branch (#22 fixes it), but the image on this branch still builds since it has pinned fs 2.0.1. |
7a78fe7 to
533191a
Compare
533191a to
d0b0386
Compare
|
This apparently had conflicts after the comment changes which I missed. I've rebased it now, sorry about that. |
Install renv and use that to restore the package versions from the lockfile.
d0b0386 to
bd217ff
Compare
|
Updated |
| echo -n "CCACHE=ccache\nCC=\$(CCACHE) gcc\nCXX=\$(CCACHE) g++\nCXX11=\$(CCACHE) g++\nCXX14=\$(CCACHE) g++\nCXX17=\$(CCACHE) g++\nFC=\$(CCACHE) gfortran\nF77=\$(CCACHE) gfortran\n" > $HOME/.R/Makevars && \ | ||
| echo -n "max_size = 200M\nsloppiness = include_file_ctime\nhash_dir = false\n" > $HOME/.config/ccache/ccache.conf && \ | ||
| R -s -e 'renv::restore()' && \ | ||
| R -s -e 'options(Ncpus = parallel::detectCores()); renv::restore()' && \ |
There was a problem hiding this comment.
Oh, that is lovely, thank you!
…e former commit, which only built several R packages at the same time, but still with one thread
|
I think this is now good to go, thanks Peter. The only thing I noticed is that R itself is not really pinned down.
|
Yes, we're way outside my wheelhouse with this since I have never used R, but since the image is using the Ubuntu packages the R version will change when the Ubuntu release is upgraded. The cadence for that is a new Ubuntu LTS release every 2 years, so if you merge this PR I'll rebase the GDAL 3.13 PR and amend it with an update to (The GDAL 3.13 PR also uses numpy 2.x, so it needs some kind of additional change with the numpy interfacing in the C code in the FORCE repository, but I think the PR in this repository does what it claims.) |
Install renv and use that to restore
the package versions from the lockfile.