-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 2 of the r image #167
Draft
remlapmot
wants to merge
73
commits into
main
Choose a base branch
from
update-to-v1-and-v2-with-dd4d-in-both
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
remlapmot
force-pushed
the
update-to-v1-and-v2-with-dd4d-in-both
branch
2 times, most recently
from
November 28, 2024 13:49
f7cd181
to
b5b65dc
Compare
remlapmot
changed the title
Create version 1 and 2 in the build process and include dagitty and Will's dd4d R packages
Version 2 of the r image
Dec 4, 2024
remlapmot
force-pushed
the
update-to-v1-and-v2-with-dd4d-in-both
branch
from
December 4, 2024 09:06
945f35a
to
2f0068d
Compare
In case the package is ever sent down as a source package
Figure out the actual dependencies needed, rather than the -dev or -bin versions. This removes 130 uneeded packages, and saves 230mb of the image. The only testing done here is that the package imports cleanly, which definitly does fail if you remove the dependency entirely. It's possible that we have removed some optional dependencies that are not loaded on package import, but are are needed for certain. However, it is easy to add these back again if needed.
We only need a single cache for this, with subdirectories for each type. More readable and simplifies cache management.
AFAICT, this has no effect, for two reasons. - ENV vars are only valid in the build stage that defined them, and we defined them in the `base-r` stage. In the `r` stage it will run with the default values, which should be empty anyway. - You cannot save space by deleting things with docker. The objects will still be in the previous layer. The only way to reduce space by deleting file by removing them within the same RUN command that created them, so they are never persisted to a layer. In addition, because we use a persistant build cache, we don't want to clear it at all! That would wipe the persistant cache out each build. I manually checked that this made no different to the size, and it did not, and I poked around to check: ``` > library("pak") > cache_summary() $cachepath [1] "/root/.cache/R/pkgcache/pkg" $files [1] 0 $size [1] 0 > cache_list() > A data frame: 0 × 6 > ℹ 6 variables: fullpath <chr>, path <chr>, package <chr>, url <chr>, > etag <chr>, sha256 <chr> ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #51
Because pandoc is updated in v2 image.
Closes #74
The kableExtra package is included but we have chosen not to include phantomjs, which we think has gone unmaintained for a while.
Closes #75
As the v2 image installs binary R packages for Linux from the Posit Public Package Manager (formerly known as RStudio Package Manager).
Closes #88
Because survcomp is a Bioconductor package and we have currently chosen not to include Bioconductor packages.
Closes #101
As this is the next step for r-docker.
Closes #160
Adds sjPlot to v2 image.