blob: bca27b229993bd7d2fbe1325ea3f434ac98e445c [file] [log] [blame]
#!/bin/bash
# Copyright 2022 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# This script is put into the VM metadata as the startup script. It fetches the
# rest of the configuration from the repo at the specified commit.
set -xeuo pipefail
echo "Running setup script"
# Unfortunately this has to be duplicated from functions.sh because here we
# haven't fetched that file yet.
get_metadata() {
local url="http://metadata.google.internal/computeMetadata/v1/${1}"
ret=0
curl "${url}" \
--silent --fail --show-error \
--header "Metadata-Flavor: Google" || ret=$?
if [[ "${ret}" != 0 ]]; then
echo "Failed fetching ${url}" >&2
return "${ret}"
fi
}
get_attribute() {
get_metadata "instance/attributes/${1}"
}
REPO="$(get_attribute github-runner-config-repo)"
CONFIG_REF="$(get_attribute github-runner-config-ref)"
echo "Fetching from ${CONFIG_REF}"
cd /tmp/
rm -rf config
curl --silent --fail --show-error --location \
"https://github.com/${REPO}/archive/${CONFIG_REF}.tar.gz" \
| tar -zx -f - \
--strip-components=4 --wildcards \
*/build_tools/github_actions/runner/config/
./config/setup.sh