1
0
Fork 0
llvm-premerge-checks/containers/buildbot-linux/entrypoint.sh
Mikhail Goncharov 9ee22a88c9 buildbot agents
2023-10-04 13:35:05 +02:00

45 lines
1.5 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copyright 2021 Google LLC
#
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://llvm.org/LICENSE.txt
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -eu
set -o pipefail
USER=runner
WORKDIR=/build
chown -R ${USER}:${USER} "$WORKDIR"
export CCACHE_DIR="${WORKDIR}"/ccache
export CCACHE_MAXSIZE=20G
mkdir -p "${CCACHE_DIR}"
chown -R ${USER}:${USER} "${CCACHE_DIR}"
export SCCACHE_DIR="$WORKDIR/sccache"
export SCCACHE_IDLE_TIMEOUT="0"
rm -rf "$SCCACHE_DIR"
mkdir -p "${SCCACHE_DIR}"
chown -R ${USER}:${USER} "${SCCACHE_DIR}"
chmod oug+rw "${SCCACHE_DIR}"
gosu "$USER" bash -c 'SCCACHE_DIR="${SCCACHE_DIR}" SCCACHE_IDLE_TIMEOUT=0 SCCACHE_CACHE_SIZE=20G sccache --start-server'
# configure buildbot
mkdir -p /build/buildbot
buildbot-worker create-worker /build/buildbot $BUILDBOT_ADDRESS $BUILDBOT_NAME $BUILDBOT_PASSWORD
# TODO: update buildbot information.
chown -R ${USER}:${USER} /build/buildbot
gosu "$USER" bash -c 'CC=clang CXX=clang++ LD=LLD buildbot-worker start /build/buildbot'
# Run with tini to correctly pass exit codes.
exec /usr/bin/tini -g -- $@