tic v0.2.13.9010

Tasks Integrating Continuously: CI-Agnostic Workflow Definitions

Provides a way to describe common build and deployment workflows for R-based projects: packages, websites (e.g. blogdown, pkgdown), or data processing (e.g. research compendia). The recipe is described independent of the continuous integration tool used for processing the workflow (e.g. 'Travis CI' or 'AppVeyor').



Travis-CI Build Status CRAN status lifecycle

The goal of tic is to facilitate testing and deployment tasks for R projects in Travis CI, AppVeyor, or the CI tool of your choice.

In a nutshell, tic does the following:

  • Installation of required dependencies for the project
  • Satisfying dependencies of steps to be run in all CI stages
  • Running rcmdcheck::rcmdcheck() (if the project is an R package)
  • Building of a pkgdown site and deployment to the docs/ folder of the master branch (Travis only, R package only)
  • Running a code coverage and uploading it to codecov.io (Travis only, R package only)

It comes with pre-defined templates for various R projects (package, bookdown, blogdown, etc.) and provides CI-agnostic workflow definitions (for the CI stages).


It can be installed from Github with:

# install.packages("remotes")


When using tic it is helpful to be somewhat familiar with the concept of continuous integration (CI).
By calling travis::use_ci() a production ready setup for the respective R project is initialized.
This function will create a CI setup for both providers Travis and Appveyor.
For more information see the Getting started vignette.

Further reading


Functions in tic

Name Description
tic-package tic: Tasks Integrating Continuously: CI-Agnostic Workflow Definitions
step_build_pkgdown Step: Build pkgdown documentation
step_do_push_deploy Step: Perform push deploy
tic Emulate a CI run locally
step_rcmdcheck Step: Check a package
step_run_code Step: Run arbitrary code
step_setup_push_deploy Step: Setup push deploy
step_add_to_drat Step: Add built package to a drat
get_public_key Get public RSA key
step_add_to_known_hosts Step: Add to known hosts
step_setup_ssh Step: Setup SSH
step_hello_world Step: Hello, world!
step_install_pkg Step: Install packages
step_install_ssh_keys Step: Install an SSH key
step_push_deploy Step: Setup and perform push deploy
step_write_text_file Step: Write a text file
step_test_ssh Step: Test SSH connection
load_from_file Process a tic.R file
encode_private_key Encode a private RSA key
base64serialize Helpers for converting R objects to strings and back
prepare_all_stages Prepare all stages
DSL tic's domain-specific language
run_stage Run a stage
TicStep The base class for all steps
ci The current CI environment
stages Predefined stages
No Results!

Vignettes of tic

No Results!


Type Package
License GPL (>= 2)
URL https://github.com/ropenscilabs/tic
BugReports https://github.com/ropenscilabs/tic/issues
VignetteBuilder knitr
Remotes r-lib/rcmdcheck, ropenscilabs/travis
ByteCompile No
Encoding UTF-8
LazyData TRUE
Roxygen list(markdown = TRUE)
RoxygenNote 6.1.1
Collate 'ci.R' 'appveyor.R' 'base64.R' 'dsl.R' 'git2r.R' 'keys.R' 'local.R' 'mock.R' 'run.R' 'stage.R' 'steps-base.R' 'steps-code.R' 'steps-drat.R' 'steps-git.R' 'steps-install.R' 'steps-rcmdcheck.R' 'steps-pkgdown.R' 'steps-ssh.R' 'steps-write-text-file.R' 'tic-package.R' 'travis.R' 'utils.R'

Include our badge in your README