diff --git a/.ci/build_script.sh b/.ci/build_script.sh index 9c6e01280..bb5567d36 100755 --- a/.ci/build_script.sh +++ b/.ci/build_script.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -DOCKER_HOME=/home/ko # shellcheck source=/dev/null source "${CI_DIR}/common.sh" -if [[ -z "${CCACHE_DIR}" ]]; then - CCACHE_DIR="${HOME}/.ccache" -fi - -mkdir -p "${CCACHE_DIR}" -echo "using cache dir: ${CCACHE_DIR}" - docker-make() { local cmdlist=( 'source /home/ko/.bashrc' @@ -19,10 +11,19 @@ docker-make() { 'sudo chown -R ko:ko .' "env MAKEFLAGS='${MAKEFLAGS}' make $(printf '%q ' "$@")" ) + if [[ -z "${CCACHE_DIR}" ]]; then + CCACHE_DIR="$(ccache --get-config cache_dir)" + fi + mkdir -p "${CCACHE_DIR}" + echo "using host cache dir: ${CCACHE_DIR}" sudo chmod -R 777 "${CCACHE_DIR}" + DOCKER_HOME=/home/ko + DOCKER_CCACHE_DIR="${DOCKER_HOME}/.cache/ccache" + echo "using docker cache dir: ${DOCKER_CCACHE_DIR}" docker run --rm -t \ - -v "${CCACHE_DIR}:${DOCKER_HOME}/.ccache" \ - -v "$(pwd):${DOCKER_HOME}/base" "${DOCKER_IMG}" \ + -e CCACHE_DIR="${DOCKER_CCACHE_DIR}" \ + -v "${CCACHE_DIR}:${DOCKER_CCACHE_DIR}" \ + -v "${PWD}:${DOCKER_HOME}/base" "${DOCKER_IMG}" \ /bin/bash -c "$(printf '%s && ' "${cmdlist[@]}")true" } @@ -31,3 +32,5 @@ if [[ -z "${DOCKER_IMG}" ]]; then else docker-make TARGET="${TARGET}" VERBOSE=1 "$@" fi + +# vim: sw=4 diff --git a/.circleci/config.yml b/.circleci/config.yml index 5f8dc1d5c..3c04edf26 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ parameters: # Bump this to reset all caches. cache_epoch: type: integer - default: 3 + default: 4 # }}}