mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-17 18:06:05 +00:00
78 lines
1.8 KiB
Bash
Executable File
78 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -x
|
|
|
|
script_dir=`dirname "$0"`
|
|
|
|
# TODO(EricWF): Replace this file with the new script once the existing
|
|
# bots have been migrated.
|
|
if [ "$1" == "--new" ]; then
|
|
shift
|
|
$script_dir/run_buildbot_new.sh "$@"
|
|
shutdown now
|
|
fi
|
|
|
|
BOT_DIR=/b
|
|
BOT_NAME=$1
|
|
BOT_PASS=$2
|
|
|
|
pushd /tmp
|
|
curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
|
|
bash install-monitoring-agent.sh
|
|
curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
|
|
bash install-logging-agent.sh --structured
|
|
popd
|
|
|
|
mkdir -p $BOT_DIR
|
|
|
|
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-9
|
|
rm /usr/bin/ld
|
|
ln -s /usr/bin/lld-9 /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
|