gadenbuie / tic

Tasks Integrating Continuously: CI-Agnostic Workflow Definitions

Home Page:https://docs.ropensci.org/tic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tic

Travis build status AppVeyor build status CircleCI CRAN status codecov Lifecycle: maturing

The goal of tic is to enhance and simplify working with continuous integration (CI) systems.

The following ones are supported:

To learn more about CI, read the "Travis CI for test automation" blog post and our Getting Started vignette.

The most important improvements over existing solutions are:

  1. Deployment to a Git repository is greatly simplified. Update your repository with results from the CI build.

  2. 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.

  3. 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 tic::use_tic() a production ready CI setup is initialized, tailored to your specific R project. The created templates will use the providers https://travis-ci.org, https://appveyor.com and https://circleci.com.

If only the CI YAML templates from tic are desired, the use_<provider>_yml() functions can be used. Refer to the complete list of options.

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 GitHub
  • 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

All examples listed here work with Travis, some work with AppVeyor too. The badges link to the most recent build of the master branch.

Vignettes

Limitations

The setup functions in this package assume Git as version control system, and GitHub as platform. Automated setup works best if the project under test is located in the root of the Git repository. Multi-project repositories are not supported, see the comment by @jwijffels for guidance to work around this limitation.


ropensci_footer

About

Tasks Integrating Continuously: CI-Agnostic Workflow Definitions

https://docs.ropensci.org/tic


Languages

Language:R 98.9%Language:CSS 0.8%Language:Rebol 0.3%