create service to run Sauce tests on PRs
Created by: cvrebert
Currently, in order for the login credentials to stay secure, the Sauce and BrowserStack tests only run on branches in the twbs/bootstrap
repo, and not on folks' PRs. On folks' JavaScript PRs, these Travis tests are skipped, which means we don't find out about failing JS tests until after we merge the PR and break the build. The current workaround is to checkout such PRs, push them to a temporary branch of the main repo, and observe the results of the resulting Travis build before merging them.
This extra manual step is annoying and prone to being accidentally forgotten, because humans.
My proposed solution:
- create a dummy repo, e.g.
twbs/bootstrap-js-sandbox
- setup a service that listens for new PRs using GitHub's hooks
- if the PR changes the JS, and after verifying (for security) that the Gruntfile and Travis config are intact, the service will push the PR to a branch of
twbs/bootstrap-js-sandbox
- the service will observe the Sauce and BrowserStack results of the Travis build, and update the PR's build status accordingly using GitHub's API