[This article was first published on Mirai Solutions, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)


Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.

We updated our techguides to reflect new features of renv, rsconnect and GitHub Actions, describing state-of-the-art best practices.

Mirai Solutions is sharing technical guidelines at mirai-solutions.ch/techguides, a bookdown website hosted on GitHub Pages from a public GitHub repository. There, we collect how-to-s and best practices in different areas, including R and Shiny development. Our insights are based on our practical project experience and aim at providing concrete, practical guidance to approaching certain common problems and aspects of the R and Shiny software development lifecycle.

When developing an application it is first of all important to control the development processes to ensure that all involved developers are working in the same reproducible and stable environment, and at the same time to rely on automated pipelines that can provide Continuous Integration (CI) and Deployment (CD).

The R community has been quite active, particularly in recent years, in providing the right development tools in the R ecosystem to achieve these goals. Such tools are being constantly maintained and enhanced with new features to face new challenges.

  • Package renv provides support creating reproducible environments for R projects.
  • The r-lib/actions repository defines GitHub Actions for a variety of CI tasks.
  • Package rsconnect allows publishing Shiny Apps, R Markdown, Quarto documents and Plumber APIs, on provided servers like shinyapps.io or Posit Connect.

Relevant major enhancements have been implemented in all these tools during 2023, which have bee incorporated in our technical guidelines chapters ‘Control dependencies with renv and (‘CI/CD pipelines for automatic deployment of a R Shiny web app’, to be aligned with the state-of-the-art tools and best practices.

  • renv initialization has new features and functions we can make use of, and has improved its approach to development packages, which can be now easily included/excluded from the configuration.
  • Updated Versions of GitHub Actions allow the simplification of yml workflows for CI/CD.
  • Deployment with rsconnect is now better tailored to renv projects, allowing renv to resolve the package dependency tree also on deployment.

Browse through the Technical Guide’s chapters, give us feedback, and let us know if you would like to have other topics addressed.

If you want to have a guided, hands-on experience in applying the best practices for the operations described in our guide, you may consider our upcoming series of workshops about R and Shiny development (April-May 2024).

Let our techguides help you work on your R project, control package dependencies and set up efficient and easy-to-use CI/CD workflows for your R and Shiny applications!

To leave a comment for the author, please follow the link and comment on their blog: Mirai Solutions.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you’re looking to post or find an R/data-science job.


Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.

Continue reading: Techguides Update: package dependencies, deployment and Shiny CI/CD!

Implications and Future Developments of New Features in R Environment

Mirai Solutions updated their techguides to reflect new features of renv, rsconnect, and GitHub Actions. These guidelines provide information about how-to’s and the best practices in different areas, including R and Shiny development. They also offer insights into common problems and aspects of the R and Shiny software development lifecycle. As such, when developers create an application, they need to ensure that the development process is controlled appropriately. This means that all involved developers are operating under the same reproducible and stable environment.

The Functions of renv, rsconnect and GitHub Actions

The renv package supports creating reproducible environments for R projects. The r-lib/actions repository provides GitHub Actions for various CI tasks, and rsconnect allows for the publishing of Shiny Apps, R Markdown, Quarto documents, and Plumber APIs on supplied servers. Major enhancements implemented in 2023 have been incorporated into the technical guideline chapters ‘Control dependencies with renv’ and ‘CI/CD pipelines for automatic deployment of a R Shiny web app’. These improvements align with the state-of-the-art tools and best practices in the R ecosystem.

Long-Term Implications

In the long term, these updates can have significant implications. Developers can now easily include or exclude development packages due to the newly updated features of renv initialization. GitHub Actions’ updated versions allow for a simplification of yml workflows for CI/CD, making development and deployment processes more efficient. In addition, the deployment with rsconnect is more tailored to renv projects. As a result, developers can better control package dependencies and set up efficient and easy-to-use CI/CD workflows for their R and Shiny applications.

Future Developments

As these tools continue to be enhanced and updated, we can expect more sophisticated development environments in the future. More efficient pipelines and workflow processes can be anticipated, allowing a smoother and more seamless integration and deployment of applications. The R community can look forward to more advanced tools that offer a wider range of solutions and capabilities to address their development needs.

Actionable Advice

  • Keep up to date: With constant changes and improvements in the development tools within the R ecosystem, it is crucial that developers stay informed about the latest updates and enhancements.
  • Explore the technology guides: Make full use of the techguides provided by Mirai Solutions to gain insights into the best practices and how-to’s of R and Shiny development.
  • Hands-on experience: Consider attending workshops and hands-on sessions to better understand and apply the best practices for the operations described in the guides.

Read the original article