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.yml
with required bits- Ensure it is
language: ruby
or at least uses a language withbundler
available - Ensure the
script
step includesbundle exec chirp scripts
- Optionally, add an
after_success
step that includes:bundle exec chirp pushback &>/dev/null
bundle exec chirp sendstats &>/dev/null
- Optionally, add an
after_failure
step withbundle exec chirp dumplogs
- Ensure there is a webhook set up to point at a chirp-tracker instance with
on_success: always
andon_failure: never
- Ensure it is
travis enable
- Generate a github token with
repo
scope travis env set GITHUB_OAUTH_TOKEN <github-token>
- Add a webhook on github for chirp-tracker, e.g.
https://chirp-tracker-production.herokuapp.com/github
with content type ofapplication/x-www-form-urlencoded
and the secret token configured on the server side. Only thepush
event needs to be configured.