Hello, We have released some Bazel rules for R packages. https://github.com/grailbio/rules_r What is Bazel? Bazel <https://bazel.build/> is an industry tested build system that can be used for continuous integration and testing in large monorepos (multiple software libraries as part of one repository). When should you use Bazel for your R packages? 1. Continuous integration and testing If your organization already uses Bazel, and you have R packages as part of the same repo. These rules will run unit tests or R CMD check on changes to your package, or any dependency as part of the same build system that your organization uses. You can also deploy docker images with your R packages installed in them as part of your continuous integration. 2. Reproducible builds Using Bazel will force you to fix versions of your package dependencies, and every build will be reproducible. Updates to package dependencies can then be vetted and be done incrementally if desired. This is an alternative to maintaining a private repository of CRAN/Bioc packages or using a CRAN snapshot service. If these do not concern you, then you should not consider Bazel because of the additional complexity introduced. I am happy to answer any questions you may have. Thank you. Sid
[R-pkg-devel] Announcing Bazel for R packages
4 messages · Siddhartha Bagaria, Dirk Eddelbuettel
On 21 September 2017 at 22:40, Siddhartha Bagaria wrote:
| We have released some Bazel rules for R packages. | https://github.com/grailbio/rules_r | | What is Bazel? | | Bazel <https://bazel.build/> is an industry tested build system that can be | used for continuous integration and testing in large monorepos (multiple | software libraries as part of one repository). | | When should you use Bazel for your R packages? | | 1. Continuous integration and testing | If your organization already uses Bazel, and you have R packages as part of | the same repo. These rules will run unit tests or R CMD check on changes to | your package, or any dependency as part of the same build system that your | organization uses. You can also deploy docker images with your R packages | installed in them as part of your continuous integration. | | 2. Reproducible builds | Using Bazel will force you to fix versions of your package dependencies, | and every build will be reproducible. Updates to package dependencies can | then be vetted and be done incrementally if desired. This is an alternative | to maintaining a private repository of CRAN/Bioc packages or using a CRAN | snapshot service. | | If these do not concern you, then you should not consider Bazel because of | the additional complexity introduced. | | I am happy to answer any questions you may have. Are you aware of any bazel users outside of Google and its spin-offs, including Grail? Dirk
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
I agree the open source version has not been around for that long. But... It is picking up adoption within many other companies this year: https://github.com/bazelbuild/bazel/wiki/Bazel-Users And some adoption in academia as well, e.g. http://drake.mit.edu/bazel.html
On Thu, 21 Sep 2017 at 17:18 Dirk Eddelbuettel <edd at debian.org> wrote:
On 21 September 2017 at 22:40, Siddhartha Bagaria wrote: | We have released some Bazel rules for R packages. | https://github.com/grailbio/rules_r | | What is Bazel? | | Bazel <https://bazel.build/> is an industry tested build system that can be | used for continuous integration and testing in large monorepos (multiple | software libraries as part of one repository). | | When should you use Bazel for your R packages? | | 1. Continuous integration and testing | If your organization already uses Bazel, and you have R packages as part of | the same repo. These rules will run unit tests or R CMD check on changes to | your package, or any dependency as part of the same build system that your | organization uses. You can also deploy docker images with your R packages | installed in them as part of your continuous integration. | | 2. Reproducible builds | Using Bazel will force you to fix versions of your package dependencies, | and every build will be reproducible. Updates to package dependencies can | then be vetted and be done incrementally if desired. This is an alternative | to maintaining a private repository of CRAN/Bioc packages or using a CRAN | snapshot service. | | If these do not concern you, then you should not consider Bazel because of | the additional complexity introduced. | | I am happy to answer any questions you may have. Are you aware of any bazel users outside of Google and its spin-offs, including Grail? Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
On 22 September 2017 at 00:28, Siddhartha Bagaria wrote:
| I agree the open source version has not been around for that long. | | But... It is picking up adoption within many other companies this year: | https://github.com/bazelbuild/bazel/wiki/Bazel-Users | | And some adoption in academia as well, e.g. | http://drake.mit.edu/bazel.html Nice, thanks! Dirk
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org