Bug 1436369 Add docker entrypoint for periodic file udpates r=catlee draft
authorSimon Fraser <sfraser@mozilla.com>
Wed, 21 Feb 2018 11:18:32 +0000
changeset 757896 bd738f539b2fb82219ae10c9f1aa1374847a59ba
parent 757893 199e637679035ee654b71da1e78c11ecc5820a91
push id99870
push usersfraser@mozilla.com
push dateWed, 21 Feb 2018 13:49:40 +0000
reviewerscatlee
bugs1436369
milestone60.0a1
Bug 1436369 Add docker entrypoint for periodic file udpates r=catlee MozReview-Commit-ID: 4c8bMADQg4t
taskcluster/docker/periodic_updates/runme.sh
new file mode 100755
--- /dev/null
+++ b/taskcluster/docker/periodic_updates/runme.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+set -xe
+
+# Things to be set by task definition.
+# --pinset --hsts --hpkp --blocklist
+# -b branch
+# --use-mozilla-central
+# -p firefox
+# Artifact directory
+# Artifact names.
+
+
+test "${BRANCH}"
+test "${PRODUCT}"
+
+PARAMS=""
+
+if [ ! -z "${USE_MOZILLA_CENTRAL}" ]
+then
+  PARAMS="${PARAMS} --use-mozilla-central"
+fi
+
+# TODO change these, so that they're run if the artifact location is specified?
+if [ ! -z "${DO_HSTS}" ]
+then
+  PARAMS="${PARAMS} --hsts"
+fi
+
+if [ ! -z "${DO_HPKP}" ]
+then
+  PARAMS="${PARAMS} --hpkp"
+fi
+
+if [ ! -z "${DO_BLOCKLIST}" ]
+then
+  PARAMS="${PARAMS} --blocklist"
+fi
+
+export ARTIFACTS_DIR="/home/worker/artifacts"
+mkdir -p "$ARTIFACTS_DIR"
+
+# Get Arcanist API token
+
+if [ -n "${TASK_ID}" ]
+then
+  curl --location --retry 10 --retry-delay 10 -o /home/worker/task.json \
+    "https://queue.taskcluster.net/v1/task/$TASK_ID"
+  ARC_SECRET=$(jq -r '.scopes[] | select(contains ("arc-phabricator-token"))' /home/worker/task.json | awk -F: '{print $3}')
+fi
+if [ -n "${ARC_SECRET}" ] && getent hosts taskcluster
+then
+  set +x # Don't echo these
+  secrets_url="http://taskcluster/secrets/v1/secret/${ARC_SECRET}"
+  SECRET=$(curl "${secrets_url}")
+  TOKEN=$(echo "${SECRET}" | jq -r '.secret.token')
+elif [ -n "${ARC_TOKEN}" ] # Allow for local testing.
+then
+  TOKEN="${ARC_TOKEN}"
+fi
+
+if [ -n "${TOKEN}" ]
+then
+  cat >"${HOME}/.arcrc" <<END
+{
+  "hosts": {
+    "https://phabricator.services.mozilla.com/api/": {
+      "token": "${TOKEN}"
+    }
+  }
+}
+END
+  set -x
+  chmod 600 "${HOME}/.arcrc"
+fi
+
+# shellcheck disable=SC2086
+/home/worker/scripts/periodic_file_updates.sh -p "${PRODUCT}" -b "${BRANCH}" ${PARAMS}