Note: This is work in progress started with Colin initial README in the dratTravis repo. To be expanded and as of yet incomplete
The dratTravis package illustrates how to automatically update a drat
github repository, on a successful travis build.
Set up a drat repo
Add travis support to your package
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.
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
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
Copy across deploy.sh
and edit appropriately.
Add the line
after_success:
- 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:
devtools::build
in deploy.sh
isn't needed. Since travis has already built the R package, it should be around somewhere (but I couldn't find it).$TRAVIS_TAG
, that is empty if the commit isn't a tag. But when tagging, $TRAVIS_BRANCH
also changes to the tag name.