You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libcxx/utils/docker/scripts/run_buildbot.sh

62 lines
1.4 KiB
Bash

#!/usr/bin/env bash
set -x
BOT_DIR=/b
BOT_NAME=$1
BOT_PASS=$2
mkdir -p $BOT_DIR
#curl "https://repo.stackdriver.com/stack-install.sh" | bash -s -- --write-gcm
apt-get update -y
apt-get upgrade -y
# FIXME(EricWF): Remove this hack. It's only in place to temporarily fix linking libclang_rt from the
# debian packages.
# WARNING: If you're not a buildbot, DO NOT RUN!
apt-get install lld-8
rm /usr/bin/ld
ln -s /usr/bin/lld-8 /usr/bin/ld
systemctl set-property buildslave.service TasksMax=100000
buildslave stop $BOT_DIR
chown buildbot:buildbot $BOT_DIR
echo "Connecting as $BOT_NAME"
buildslave create-slave --allow-shutdown=signal $BOT_DIR lab.llvm.org:9990 $BOT_NAME $BOT_PASS
echo "Eric Fiselier <ericwf@google.com>" > $BOT_DIR/info/admin
{
uname -a | head -n1
cmake --version | head -n1
g++ --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]=\"buildslave1\"
SLAVE_USER[1]=\"buildbot\"
SLAVE_BASEDIR[1]=\"$BOT_DIR\"
SLAVE_OPTIONS[1]=\"\"
SLAVE_PREFIXCMD[1]=\"\"" > /etc/default/buildslave
chown -R buildbot:buildbot $BOT_DIR
systemctl daemon-reload
service buildslave restart
sleep 30
cat $BOT_DIR/twistd.log
grep "slave is ready" $BOT_DIR/twistd.log || shutdown now
# 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