tic
The goal of tic is to enhance and simplify working with continuous integration (CI) systems like Travis CI or AppVeyor for R projects. To learn more about CI, read this blog post and our Getting Started vignette.
The most important improvements over existing solutions are:
Deployment to a Git repository is greatly simplified. Update your repository with results from the CI build.
Support for R packages and other kinds of project (bookdown, blogdown, etc.), with predefined templates. Set up your project to deploy rendered versions of your book or blog with a single push to Git.
Workflow specification in a single
.R
file, regardless of CI system used.
Forget about.yml
files or web browser configurations.
Installation
It can be installed from Github with:
# install.packages("remotes")
remotes::install_github("ropenscilabs/tic")
Setup
By calling travis::use_ci()
a production ready CI setup is initialized, tailored to your specific R project.
The created templates will use the providers https://travis-ci.org and https://appveyor.com.
For an R package, the following steps will be set up for the CI workflow:
- Installation of required dependencies for the project
- Satisfying build-time dependencies of steps to be run in all CI stages
- Running
rcmdcheck::rcmdcheck()
- Building of a
pkgdown
site, with deployment to thedocs/
directory of themaster
branch - Running a code coverage and uploading it to codecov.io
See the Getting Started vignette for more information and links to minimal example repositories for various R projects (package, blogdown, bookdown and more).
Examples
tic.package: R packages with pkgdown documentation
tic.packagedocs: R packages with packagedocs documentation
tic.blogdown: Blogs with blogdown
tic.bookdown: Books with bookdown
tic.website: Websites with rmarkdown
tic.figshare: Deploying artifacts to figshare (work in progress).