buildchecker is designed to respond to periods of consecutive build failures on a Buildkite pipeline.
Owned by the DevX team.
More documentation for Sourcegraph teammates is available in theCI incidents playbook.
Available commands:
Checks for a series of build failures that exceed the configured threshold, locks the target branch, and posts various updates to Slack.
go run ./dev/buildchecker/ check # directly
./dev/buildchecker/run-check.sh # using wrapper scriptAlso see the buildchecker GitHub Action workflow where buildchecker check is run on an automated basis.
Writes aggregated historical data, including the builds it finds, to a few files.
go run ./dev/buildchecker \
-buildkite.token=$BUILDKITE_TOKEN \
-builds.write-to=".tmp/builds.json" \
-csv.write-to=".tmp/" \
-failures.timeout=999 \
-created.from="2021-08-01" \
historyTo load builds from a file instead of fetching from Buildkite, use -builds.load-from="$FILE".
You can also send metrics to Honeycomb with -honeycomb.dataset and -honeycomb.token:
go run ./dev/buildchecker \
-builds.load-from=".tmp/builds.json" \
-failures.timeout=999 \
-created.from="2021-08-01" \
-honeycomb.dataset="buildkite-history" \
-honeycomb.token=$HONEYCOMB_TOKEN \
historyRequired for all buildchecker commands, except for buildchecker history -load-from.
- Go over your personal settings
- Create a new token with the following permissions:
- check
sourcegraphorganization read_buildsread_pipelines
branch_test.gocontains integration tests against the GitHub API. Normally runs against recordings intestdata- to updatetestdata, run the tests with the-updateflag.- All other tests are strictly unit tests.