richfitz / drat.builder

Build tools for a drat
Other
17 stars 2 forks source link

binary package builds? #22

Closed achubaty closed 3 years ago

achubaty commented 3 years ago

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.

richfitz commented 3 years ago

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:

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

achubaty commented 3 years ago

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