46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -v -e -x
|
|
|
|
# Assert that we're not running as root.
|
|
if [[ $(id -u) -eq 0 ]]; then
|
|
# This exec is still needed until aarch64 images are updated (Bug 1488325).
|
|
# Remove when images are updated. Until then, assert that things are good.
|
|
[[ $(uname -m) == aarch64 ]]
|
|
exec su worker -c "$0 $*"
|
|
fi
|
|
|
|
export PATH="${PATH}:/home/worker/.cargo/bin/:/usr/lib/go-1.6/bin"
|
|
|
|
# Usage: hg_clone repo dir [revision=@]
|
|
hg_clone() {
|
|
repo=$1
|
|
dir=$2
|
|
rev=${3:-@}
|
|
if [ -d "$dir" ]; then
|
|
hg pull -R "$dir" -ur "$rev" "$repo" && return
|
|
rm -rf "$dir"
|
|
fi
|
|
for i in 0 2 5; do
|
|
sleep $i
|
|
hg clone -r "$rev" "$repo" "$dir" && return
|
|
rm -rf "$dir"
|
|
done
|
|
exit 1
|
|
}
|
|
|
|
fetch_dist() {
|
|
if [ "$TASKCLUSTER_ROOT_URL" = "https://taskcluster.net" ] || [ -z "$TASKCLUSTER_ROOT_URL" ]; then
|
|
url=https://queue.taskcluster.net/v1/task/$TC_PARENT_TASK_ID/artifacts/public/dist.tar.bz2
|
|
else
|
|
url=$TASKCLUSTER_ROOT_URL/api/queue/v1/task/$TC_PARENT_TASK_ID/artifacts/public/dist.tar.bz2
|
|
fi
|
|
if [ ! -d "dist" ]; then
|
|
for i in 0 2 5; do
|
|
sleep $i
|
|
curl --retry 3 -Lo dist.tar.bz2 $url && tar xvjf dist.tar.bz2 && return
|
|
rm -fr dist.tar.bz2 dist
|
|
done
|
|
exit 1
|
|
fi
|
|
}
|