GitHub Actions has been maturing as a CI / CD tool, therefore we updated our techguides to focus more on it.
There are many CI / CD tools available which people most often use together with GitHub. Since GitHub Actions is the first such tool that integrates with the rest of GitHub as a service, it barely requires any setup work to use it together with GitHub, unlike many other CI / CD tools that would require a careful configuration. For this reason, it gained much attention even before its official release in November 2019. GitHub Actions has been evolving and maturing a lot since its release. It has become very popular and will become the main CI / CD tool for open source projects in the future.
Another advantage of GitHub Actions is that it comes for free for public repositories. It is actively supported by community efforts and more actions (which define and implement specific steps that can be used in complex workflows) are continuously being developed and released, further increasing its usability and user-friendliness.
Our techguides about CI / CD for Shiny includes the usage of GitHub Actions since early 2020, and was also covered in our e-Rum2020 workshop. Given recent updates, we adjusted the explanation and examples of the GitHub Actions for Shiny applications chapter on our techguides. Besides describing the components and steps defining the YAML workflow files used by GitHub Actions, we provide full example workflows that can be used directly with usethis::use_github_action()
.
The updates and examples in our techguides rely on the community-contributed r-lib/actions/setup-r and corresponding examples. In particular, we include a recent improvement of using RSPM, which considerably speeds up the installation of packages on Linux systems.
Let our techguides help you to set up efficient and easy-to-use CI / CD workflows for your Shiny applications!
Do you want to know more about how we use GitHub Actions to render our techguides? Join the elevator pitch session at useR!2021 on the 6th of July from 1:00pm - 2:30pm CET for a Q&A session where we present a technical note about it.