53 lines
1.8 KiB
Plaintext
53 lines
1.8 KiB
Plaintext
# Install packages we need. Docker must be installed and configured,
|
|
# as should Go itself. We just install some extra bits and pieces.
|
|
function install_pkgs() {
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
while true; do
|
|
if sudo -E apt-get update && \
|
|
sudo -E apt-get install -y "$@"; then
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
install_pkgs make linux-libc-dev graphviz jq curl binutils gnupg gnupg-agent \
|
|
gcc pkg-config apt-transport-https ca-certificates software-properties-common
|
|
|
|
# Install headers, only if available.
|
|
if test -n "$(apt-cache search --names-only "^linux-headers-$(uname -r)$")"; then
|
|
install_pkgs "linux-headers-$(uname -r)"
|
|
fi
|
|
|
|
# Setup for parallelization with PARTITION and TOTAL_PARTITIONS.
|
|
export PARTITION=${BUILDKITE_PARALLEL_JOB:-0}
|
|
PARTITION=$((${PARTITION}+1)) # 1-indexed, but PARALLEL_JOB is 0-indexed.
|
|
export TOTAL_PARTITIONS=${BUILDKITE_PARALLEL_JOB_COUNT:-1}
|
|
|
|
# Ensure Docker has experimental enabled.
|
|
EXPERIMENTAL=$(sudo docker version --format='{{.Server.Experimental}}')
|
|
if test "${EXPERIMENTAL}" != "true"; then
|
|
make sudo TARGETS=//runsc:runsc ARGS="install --experimental=true"
|
|
sudo systemctl restart docker
|
|
fi
|
|
|
|
# Helper for benchmarks, based on the branch.
|
|
if test "${BUILDKITE_BRANCH}" = "master"; then
|
|
export BENCHMARKS_OFFICIAL=true
|
|
else
|
|
export BENCHMARKS_OFFICIAL=false
|
|
fi
|
|
|
|
# Clear existing profiles.
|
|
sudo rm -rf /tmp/profile
|
|
|
|
# Allow to read dmesg for all users. It is required for the syslog test.
|
|
sudo sysctl -w kernel.dmesg_restrict=0
|
|
|
|
# Download credentials, if a release agent.
|
|
if test "${BUILDKITE_AGENT_META_DATA_QUEUE}" = "release"; then
|
|
# Pull down secrets.
|
|
gcloud secrets versions access --secret="repo-key" --format='get(payload.data)' latest | tr '_-' '/+' | base64 -d > repo.key
|
|
|
|
# Configure the Docker credential helper (to push images).
|
|
gcloud auth configure-docker -q
|
|
fi
|