summaryrefslogtreecommitdiffhomepage
path: root/.buildkite/hooks/pre-command
diff options
context:
space:
mode:
Diffstat (limited to '.buildkite/hooks/pre-command')
-rw-r--r--.buildkite/hooks/pre-command30
1 files changed, 30 insertions, 0 deletions
diff --git a/.buildkite/hooks/pre-command b/.buildkite/hooks/pre-command
new file mode 100644
index 000000000..4f41fe021
--- /dev/null
+++ b/.buildkite/hooks/pre-command
@@ -0,0 +1,30 @@
+# 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() {
+ while true; do
+ if sudo apt-get update && sudo apt-get install -y "$@"; then
+ break
+ fi
+ done
+}
+install_pkgs graphviz jq curl binutils gnupg gnupg-agent linux-libc-dev \
+ apt-transport-https ca-certificates software-properties-common
+
+# 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 \ No newline at end of file