forked from mirrors/gecko-dev
To identify regressions and existing exceptions in Sentry, we tag them with their mach release (the current base revision). To ensure that Sentry knows the correct order of revisions, we need to tell it about each one that lands in mozilla-central. Differential Revision: https://phabricator.services.mozilla.com/D109681
29 lines
917 B
Bash
29 lines
917 B
Bash
#!/bin/bash
|
|
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
run() {
|
|
revisions=$(curl "$HG_PUSHLOG_URL" | jq -c -r ".pushes[].changesets | @sh" | tr -d \') || return 1
|
|
sentry_api_key=$(curl "http://taskcluster/secrets/v1/secret/project/engwf/gecko/3/tokens" | yq -r .sentryToken) || return 1
|
|
for revision in $revisions; do
|
|
SENTRY_API_KEY=$sentry_api_key SENTRY_ORG=operations sentry-cli --url https://sentry.prod.mozaws.net/ releases --project mach new "$revision" || return 1
|
|
done
|
|
}
|
|
|
|
with_backoff() {
|
|
failures=0
|
|
while ! "$@"; do
|
|
failures=$(( failures + 1 ))
|
|
if (( failures >= 5 )); then
|
|
echo "[with_backoff] Unable to succeed after 5 tries, failing the job."
|
|
return 1
|
|
else
|
|
seconds=$(( 2 ** (failures - 1) ))
|
|
echo "[with_backoff] Retrying in $seconds second(s)"
|
|
sleep $seconds
|
|
fi
|
|
done
|
|
}
|
|
|
|
with_backoff run
|