2023-09-07 16:34:40 +02:00
|
|
|
#!/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'
|
|
|
|
|
2023-10-04 13:35:05 +02:00
|
|
|
# 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'
|
|
|
|
|
2023-09-07 16:34:40 +02:00
|
|
|
# Run with tini to correctly pass exit codes.
|
|
|
|
exec /usr/bin/tini -g -- $@
|