README.md

Combining Drat and Travis

Build Status

This package illustrates how to automatically update a drat github repository, on a successful travis build.

Getting Started

  1. Set up a drat repo

  2. Add travis support to your package

  3. Get a github API token to generate a new Personal access token. You might need to re-enter your password. Just select repo, or if your repository is public, you can select public_repo instead. GitHub will create the token and give you a chance to copy it down.

  4. Travis will need to encrypt this token. The short story is: # Install Ruby first. Will probably require sudo gem install travis If sudo isn't available, you can do a local install # Look at ~/.gem/ gem install --user-install travis

  5. cd to the R package directory, and run travis encrypt GH_TOKEN=$MY_ACCESS_TOKEN --add env.global where $MY_ACCESS_TOKEN is your access token. The --add env.global automatically adds the token to your .travis.yml file
  6. Copy across deploy.sh and edit appropriately.
  7. Add the line ``` after_success:

    • test $TRAVIS_REPO_SLUG == "csgillespie/dratTravis" && test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && bash deploy.sh ```

    to your .travis.yml file. This means your drat repository is only updated: - for successful builds - if the commit is on the master you own, i.e. USERNAME/dratTRAVIS - not for pull requests - only on the master branch

TODO

  1. The bash script is a bit hacky.
  2. It should be possible to only update if a version is tagged. Travis provides a variable $TRAVIS_TAG, that is empty if the commit isn't a tag. But when tagging, $TRAVIS_BRANCH also changes to the tag name.


csgillespie/dratTravis documentation built on May 14, 2019, 12:12 p.m.