2020-05-13 13:13:33 +02:00
|
|
|
#!/usr/bin/env bash
|
2021-05-14 14:54:57 +02:00
|
|
|
|
|
|
|
# Copyright 2021 Google LLC
|
2020-04-22 16:51:22 +02:00
|
|
|
#
|
|
|
|
# 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.
|
2022-12-25 14:57:47 +01:00
|
|
|
set -eo pipefail
|
2020-04-22 16:51:22 +02:00
|
|
|
|
|
|
|
USER=buildkite-agent
|
2022-12-25 14:57:47 +01:00
|
|
|
P="${BUILDKITE_BUILD_PATH:-/var/lib/buildkite-agent}"
|
|
|
|
set -u
|
|
|
|
mkdir -p "$P"
|
|
|
|
chown -R ${USER}:${USER} "$P"
|
2020-05-14 12:57:38 +02:00
|
|
|
|
2022-12-25 14:57:47 +01:00
|
|
|
export CCACHE_DIR="${P}"/ccache
|
2020-08-26 12:00:50 +02:00
|
|
|
export CCACHE_MAXSIZE=20G
|
|
|
|
mkdir -p "${CCACHE_DIR}"
|
|
|
|
chown -R ${USER}:${USER} "${CCACHE_DIR}"
|
2020-04-22 16:51:22 +02:00
|
|
|
|
2023-09-06 14:39:09 +02:00
|
|
|
export SCCACHE_DIR="$BUILDKITE_BUILD_PATH/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}"
|
2023-09-07 14:49:16 +02:00
|
|
|
gosu "$USER" bash -c 'SCCACHE_DIR="${SCCACHE_DIR}" SCCACHE_IDLE_TIMEOUT=0 SCCACHE_CACHE_SIZE=20G sccache --start-server'
|
2023-09-06 14:39:09 +02:00
|
|
|
|
2020-05-13 13:13:33 +02:00
|
|
|
# /mnt/ssh should contain known_hosts, id_rsa and id_rsa.pub .
|
2021-05-15 10:58:23 +02:00
|
|
|
mkdir -p /var/lib/buildkite-agent/.ssh
|
2022-12-25 14:57:47 +01:00
|
|
|
if [ -d /mnt/ssh ]; then
|
|
|
|
cp /mnt/ssh/* /var/lib/buildkite-agent/.ssh || echo "no "
|
|
|
|
chmod 700 /var/lib/buildkite-agent/.ssh
|
|
|
|
chmod 600 /var/lib/buildkite-agent/.ssh/*
|
|
|
|
chown -R buildkite-agent:buildkite-agent /var/lib/buildkite-agent/.ssh/
|
|
|
|
else
|
|
|
|
echo "/mnt/ssh is not mounted"
|
|
|
|
fi
|
2023-09-06 14:39:09 +02:00
|
|
|
# Run with tini to correctly pass exit codes.
|
2022-01-26 18:40:18 +01:00
|
|
|
exec /usr/bin/tini -g -- $@
|