tools.sh (1310B)
1 #!/usr/bin/env bash 2 3 set -v -e -x 4 5 # Assert that we're not running as root. 6 if [[ $(id -u) -eq 0 ]]; then 7 # This exec is still needed until aarch64 images are updated (Bug 1488325). 8 # Remove when images are updated. Until then, assert that things are good. 9 [[ $(uname -m) == aarch64 ]] 10 exec su worker -c "$0 $*" 11 fi 12 13 export PATH="${PATH}:/home/worker/.cargo/bin/:/usr/lib/go-1.6/bin" 14 15 # Usage: hg_clone repo dir [revision=@] 16 hg_clone() { 17 repo=$1 18 dir=$2 19 rev=${3:-@} 20 if [ -d "$dir" ]; then 21 hg pull -R "$dir" -ur "$rev" "$repo" && return 22 rm -rf "$dir" 23 fi 24 for i in 0 2 5; do 25 sleep $i 26 hg clone -r "$rev" "$repo" "$dir" && return 27 rm -rf "$dir" 28 done 29 exit 1 30 } 31 32 fetch_dist() { 33 if [ "$TASKCLUSTER_ROOT_URL" = "https://taskcluster.net" ] || [ -z "$TASKCLUSTER_ROOT_URL" ]; then 34 url=https://queue.taskcluster.net/v1/task/$TC_PARENT_TASK_ID/artifacts/public/dist.tar.bz2 35 else 36 url=$TASKCLUSTER_ROOT_URL/api/queue/v1/task/$TC_PARENT_TASK_ID/artifacts/public/dist.tar.bz2 37 fi 38 if [ ! -d "dist" ]; then 39 for i in 0 2 5; do 40 sleep $i 41 curl --retry 3 -Lo dist.tar.bz2 $url && tar xvjf dist.tar.bz2 && return 42 rm -fr dist.tar.bz2 dist 43 done 44 exit 1 45 fi 46 }