Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Actions for R

GitHub Actions for R

Open source R packages on GitHub often take advantage of continuous integration services to automatically check their packages for errors. This is very useful to catch things quickly, as well and increasing confidence for proposed changes, as the Pull Requests can be checked before they are merged. Travis-CI and Appveyor are the most popular current methods. However a new service, GitHub Actions, shows promise for being more featureful and simpler to configure and debug. This talk demonstrates using this service for R packages and projects and how to configure them for your own use in packages and reports.

Jim Hester

January 29, 2020
Tweet

More Decks by Jim Hester

Other Decks in Programming

Transcript

  1. Continuous Integration ensure YOU don't break project ensure reproducibility! Not

    just for R p ackages! ensure OTHERS don't break project
  2. Continuous Integration "If it hurts, do it more often" -

    Martin Fowler P ain Time between Actions
  3. Docker Windows What? How? Why? macOS linux 20 Concurrent Jobs!

    6 hours per job!!! Requires sep arate setup and Authentication???
  4. Docker Windows What? How? Why? macOS linux 20 Concurrent Jobs!

    6 hours per job!!! Requires sep arate setup and Authentication???
  5. Docker Windows What? How? Why? Is it free??? macOS linux

    20 Concurrent Jobs! 6 hours per job!!! Requires sep arate setup and Authentication???
  6. Docker Windows What? How? Why? Is it free??? macOS linux

    for open source, academic or educational repositories 20 Concurrent Jobs! 6 hours per job!!! Requires sep arate setup and Authentication???
  7. Operating Systems Concurrent builds maximum job Ease of setup GitHub

    Actions 20 360 minutes Travis CI 3 50 minutes Circle CI 4 300 minutes Appveyor 1 60 minutes
  8. Azure Pipelines? ++ More mature than GitHub Actions −− Much

    more challenging to Setup GitHub Actions based on Azure pipelines
  9. pkgdown requires a Personal Access token blogdown requires a netlify

    deploy token Bookdown requires a netlify deploy token use_github_action("pkgdown.y aml") use_github_action("blogdown.y aml") use_github_action("bookdown.y aml") github.com/r-lib/actions
  10. Render README requires a Personal Access token Document and style

    Runs on Pull requests when you comment with /document or /style use_github_action("render-readme.y aml") use_github_action("pr-commands.y aml") github.com/r-lib/actions