Learn R Programming

⚠️There's a newer version (0.4.0) of this package.Take me there.

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:

  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 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 the docs/ directory of the master 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

Vignettes


Copy Link

Version

Version

0.2.13.9010

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Kirill Müller

Last Published

September 8th, 2021

Functions in tic (0.2.13.9010)

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 R 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