+++ /dev/null
-
-#===-------------------------------------------------------------------------------------------===//
-# buildslave
-#===-------------------------------------------------------------------------------------------===//
-ARG gcc_tot
-ARG llvm_tot
-
-FROM ${gcc_tot} AS gcc-tot
-FROM ${llvm_tot} AS llvm-tot
-
-FROM debian:stretch AS base-image
-
-ADD install-packages.sh /tmp/
-RUN /tmp/install-packages.sh && rm /tmp/install-packages.sh
-
-COPY --from=ericwf/gcc:5.5.0 /compiler /opt/gcc-5
-
-FROM base-image as worker-image
-
-COPY --from=gcc-tot /compiler /opt/gcc-tot
-COPY --from=llvm-tot /compiler /opt/llvm-tot
-
-ENV PATH /opt/llvm-tot/bin:$PATH
-
-RUN clang++ --version && echo hello
-RUN g++ --version
-
-
-RUN /opt/gcc-tot/bin/g++ --version
-RUN /opt/llvm-tot/bin/clang++ --version
-RUN /opt/llvm-tot/bin/clang --version
-
-# FIXME(EricWF): remove this once the buildbot's config doesn't clobber the path.
-RUN ln -s /opt/llvm-tot/bin/clang /usr/local/bin/clang
-RUN ln -s /opt/llvm-tot/bin/clang++ /usr/local/bin/clang++
-
-
-ADD run_buildbot.sh /
-CMD /run_buildbot.sh /run/secrets/buildbot-auth
+++ /dev/null
-#!/usr/bin/env bash
-set -x
-
-readonly BOT_ROOT=/b
-readonly AUTH_FILE=$1
-readonly BOT_ROOT_NAME=$(jq -r ".login" $AUTH_FILE)
-
-systemctl daemon-reload
-service buildslave stop
-mkdir -p /b
-rm -rf /b/*
-service buildslave stop
-
-pushd /tmp/
-
-curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
-sudo bash install-monitoring-agent.sh
-rm install-monitoring-agent.sh
-
-curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
-sudo bash install-logging-agent.sh
-rm install-logging-agent.sh
-
-popd
-
-
-systemctl set-property buildslave.service TasksMax=100000
-
-function setup_numbered_bot() {
- local BOT_NAME=$1
- local BOT_DIR=$2
- mkdir -p $BOT_DIR
-
- buildslave stop $BOT_DIR
- chown buildbot $BOT_DIR
- rm -rf $BOT_DIR/*
-
- buildslave create-slave --allow-shutdown=signal "$BOT_DIR" "lab.llvm.org:9990" "$BOT_NAME" $(jq -r ".password" $AUTH_FILE)
-
- echo "Eric Fiselier <ericwf@google.com>" > $BOT_DIR/info/admin
-
- echo "Connecting as $1"
- {
- uname -a | head -n1
- cmake --version | head -n1
- g++ --version | head -n1
- clang++ --version | head -n1
- ld --version | head -n1
- date
- lscpu
- } > $BOT_DIR/info/host
-
-
-#echo "SLAVE_RUNNER=/usr/bin/buildslave
-#SLAVE_ENABLED[1]=\"1\"
-#SLAVE_NAME[1]=\"$BOT_NAME\"
-#SLAVE_USER[1]=\"buildbot\"
-#SLAVE_BASEDIR[1]=\"$BOT_DIR\"
-#SLAVE_OPTIONS[1]=\"\"
-#SLAVE_PREFIXCMD[1]=\"\"" > $BOT_DIR/buildslave.cfg
-
- ls $BOT_DIR/
- cat $BOT_DIR/buildbot.tac
-}
-
-function try_start_builder {
- local N=$1
- local BOT_DIR="$BOT_ROOT/b$N"
- local BOT_NAME="$BOT_ROOT_NAME$N"
-
- systemctl daemon-reload
- service buildslave restart
- setup_numbered_bot "$BOT_NAME" "$BOT_DIR"
-
- systemctl daemon-reload
- service buildslave restart
-
- chown -R buildbot $BOT_DIR/
- sudo -u buildbot /usr/bin/buildslave start $BOT_DIR/
-
- sleep 30
- cat $BOT_DIR/twistd.log
- if grep --quiet "slave is ready" $BOT_DIR/twistd.log; then
- return 0
- fi
- if grep --quiet "configuration update complete" $BOT_DIR/twistd.log; then
- return 0
- fi
- if grep "rejecting duplicate slave" $BOT_DIR/twistd.log; then
- return 1
- fi
- echo "Unknown error"
- cat $BOT_DIR/twistd.log
- exit 1
-}
-
-for N in `shuf -i 1-5`
-do
- if try_start_builder $N; then
- break
- fi
- echo "failed to start any buildbot"
- shutdown now
-done
-
-# GCE can restart instance after 24h in the middle of the build.
-# Gracefully restart before that happen.
-sleep 72000
-while pkill -SIGHUP buildslave; do sleep 5; done;
-shutdown now
-