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.