Skip to content
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

About using binaries vs. installing from source #37

Closed
pat-s opened this issue Jan 30, 2020 · 4 comments
Closed

About using binaries vs. installing from source #37

pat-s opened this issue Jan 30, 2020 · 4 comments

Comments

@pat-s
Copy link

pat-s commented Jan 30, 2020

Hi Jim,

thanks a lot for the effort in getting GH actions to work easily for R packages. Just browsed your rstudio::conf slides.

We are in the process to support GH actions also in {tic}, building on your "actions".

I see that your are putting in a lot of effort to move towards using R package binaries, even on Linux.
While this comes with a nice speed up for dependency installation, it comes with the issues of R packages which need to link against a system library.
Let's use {rJava} as the best example here ;)

I am wondering if using binaries might introduce more problems in CI than it helps - and if using source installs only (even on Windows) combined with caching the R user library might be the more robust way for most users.
However, installing certain system libs on Windows is of course a medium pain and that's also one reason why binaries exist.
If one wants to test on R-devel, source is the only option anyways.
Also I also like the idea of having the same "build process" for the dep installs across all platforms and pulling away the pain of thinking about binary/source differences at all.

Curious about your view on this.

@jimhester
Copy link
Member

We already handle system dependencies on linux automatically when using linux binaries using the sysreqs package.

People are always welcome to fall back to using source in their own workflows if they find the binaries are causing problems, but I think defaulting to binaries in the examples the right choice.

@pat-s
Copy link
Author

pat-s commented Jan 30, 2020

We already handle system dependencies on linux automatically when using linux binaries using the sysreqs package.

Which is a very good effort and I just asked Gabor a few days ago if I can help to push support forwards. Still lots of libs missing and lots need some maintenance.

Also, while Linux might be kind of "easy", Windows is always the bigger problem.

@jimhester
Copy link
Member

Windows is not really a problem for most packages, we generally use static linking for system dependencies on Windows, e.g. https://github.com/rwinlib rather than relying on shared libraries installed by the users.

I think using package binaries is generally the right choice, however none of the custom actions require them, you can always modify the example workflows for your projects to use only source packages if you feel that is more robust.

@github-actions
Copy link

github-actions bot commented Nov 8, 2022

This issue has been automatically locked. If you believe you have found a related problem, please file a new issue and include a link to this issue

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants