Chirp is meant to be set up with Travis CI to repeatedly build itself for purposes of real world monitoring. There is a server component called chirp-tracker that understands both github and travis webhook payloads and keeps a record of timestamps and commits from each such that a delta may be used as a simple metric for high level alerts.
- Add this gem as a dependency in a
Gemfile, e.g.gem 'chirp', github: 'travis-infrastructure/chirp' - Add a
.travis.ymlwith required bits- Ensure it is
language: rubyor at least uses a language withbundleravailable - Ensure the
scriptstep includesbundle exec chirp scripts - Optionally, add an
after_successstep that includes:bundle exec chirp pushback &>/dev/nullbundle exec chirp sendstats &>/dev/null
- Optionally, add an
after_failurestep withbundle exec chirp dumplogs - Ensure there is a webhook set up to point at a chirp-tracker instance with
on_success: alwaysandon_failure: never
- Ensure it is
travis enable- Generate a github token with
reposcope travis env set GITHUB_OAUTH_TOKEN <github-token>- Add a webhook on github for chirp-tracker, e.g.
https://chirp-tracker-production.herokuapp.com/githubwith content type ofapplication/x-www-form-urlencodedand the secret token configured on the server side. Only thepushevent needs to be configured.