blob: 136e06a58ab62064d131e3d2f5052d3bb3e5bcf7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/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/$SENTRY_SECRET" | jq -r ".secret.sentryToken") || return 1
for revision in $revisions; do
SENTRY_AUTH_TOKEN=$sentry_api_key SENTRY_ORG=mozilla sentry-cli --url https://sentry.io/ releases --project mach new "hg-rev-$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
|