binary package builds?
achubaty opened this issue · 2 comments
drat
now supports binary packages, and CI infrastructure (e.g., GitHub Actions) typically support multilple OSes, so it's feasible to build binaries for Windows and macOS on the CI machines and push those to the drat repo.
It would be great if drat.builder
could support this.
Adding this in is theoretically possible, but it would take far more work than I have the capacity for at the moment. I wrote this little package a stop-gap measure and had hoped that something better would have turned up by now. 5 years later we're still using it!
Our workflow for the packages that require binaries is this:
- update the source tree as is currently done. This is not done on CI but on a machine that I trigger updates from manually so that package versions play nicely to together
- We build binaries on gha for packages that need it (gha script and the result)
- I download those binaries and add them in
The end result looks like this: https://github.com/ncov-ic/drat/tree/master/bin/windows/contrib/4.0 and works pretty well for us, with tolerable administrative burden.
Nicer things are afoot though: https://ncov-ic.r-universe.dev/ - I may yet be able to retire drat.builder
Some people have managed to get the whole build process running on github actions; see https://twitter.com/ZKamvar/status/1217117793948184579
Thanks for the update -- I saw his blog post and used his template to get things going on GHA. I am now (clunkily) building binaries for windows and macOS using devtools::build()
and drat::insertPackages()
.
https://github.com/PredictiveEcology/drat/blob/main/.github/workflows/build-packages.yaml