-
Notifications
You must be signed in to change notification settings - Fork 31
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
Failed bioconductor package installations do not cause docker builds to stop #38
Comments
Hi @pmoris Happy new year. First, I'm not sure about the cc - @LiNk-NY regarding the Correct me if I'm wrong. |
A work-around might be to promote warnings to error, and then return an error status code, like
( |
Yikes, it seems I missed these notifications, so apologies for the tardy reply. I delved back into this topic recently and came up with a solution that seems to serve my needs. In a nutshell, I've modified littler's installBioc.r to throw warnings whenever the installation of a package goes awry (due to missing system libraries, misspelled names, conflicts, etc.). This allows me to use littler's I've submitted this altered version of the script as a PR to the littler repository: eddelbuettel/littler#103 If you think it's useful, perhaps this approach (or something similar to it) could be used (or mentioned) by the docker guidelines for bioconductor? Because the current approach that is suggested here (https://www.bioconductor.org/help/docker/) leads to the problem I described. @mtmorgan : thanks for the example! I ended up using your suggestion to install BiocManager itself in my dockerfiles, because I'd like to pass a bioconductor version to it explicitly, and this did not seem possible via EDIT: I forgot to address your question:
I haven't figured out a way to do so, and the recommended practice seems to be to use littler's |
I've ran into a number of issues trying to install bioconductor packages in a Docker image. Specifically, the two approaches that I've foud for installing bioconductor packages (
R -e 'BiocManager::install("package")
and/usr/local/lib/R/site-library/littler/examples/installBioc.r
) do not raise a non-zero exit code and thus do not cause Docker builds to fail when something goes wrong (e.g. package is unavailable in the repo, mis-spelled name, or missing dependencies).I've raised this issue over at the rocker repository as well, with a lot more background information (rocker-org/rocker-versioned2#292), but I believe that it would be beneficial to add some warnings or clarification on the intended method to extend the bioconductor images to the documentation provided here: https://www.bioconductor.org/help/docker/
Any other advice or insight into how I can better handle these installations is of course highly appreciated as well.
The text was updated successfully, but these errors were encountered: