rename CCACHE_PATH to CCACHE_DIR
https://ccache.dev/manual/3.7.11.html#_configuration uses CCACHE_DIR to set cache directory. CCACHE_PATH has a different meaning. + removed LLVM_CCACHE_DIR ccache argument to use CCACHE_DIR from env. + print additional info about ccache config and machine readable stats.
This commit is contained in:
parent
dc1080fc4c
commit
46c9fefb77
10 changed files with 20 additions and 15 deletions
|
@ -40,7 +40,8 @@ RUN groupadd -g ${gid} ${group} ;\
|
|||
RUN chown -R ${user}:${user} /home/${user}
|
||||
|
||||
WORKDIR /home/${user}
|
||||
ENV CCACHE_PATH=/mnt/disks/ssd0/ccache
|
||||
ENV CCACHE_DIR=/mnt/disks/ssd0/ccache
|
||||
ENV CCACHE_MAXSIZE=20G
|
||||
|
||||
# configure locale
|
||||
RUN sed --in-place '/en_US.UTF-8/s/^#//' /etc/locale.gen ;\
|
||||
|
|
|
@ -22,8 +22,8 @@ mkdir -p "${AGENT_ROOT}"
|
|||
chown -R ${USER}:${USER} "${AGENT_ROOT}"
|
||||
|
||||
# prepare folder for ccache
|
||||
mkdir -p "${CCACHE_PATH}"
|
||||
chown -R ${USER}:${USER} "${CCACHE_PATH}"
|
||||
mkdir -p "${CCACHE_DIR}"
|
||||
chown -R ${USER}:${USER} "${CCACHE_DIR}"
|
||||
|
||||
# TODO(kuhnel): wipe the disk(s) on startup
|
||||
|
||||
|
|
|
@ -46,7 +46,8 @@ RUN groupadd -g ${gid} ${group} ;\
|
|||
RUN chown -R ${user}:${user} /home/${user}
|
||||
|
||||
WORKDIR /home/${user}
|
||||
ENV CCACHE_PATH=/mnt/disks/ssd0/ccache
|
||||
ENV CCACHE_DIR=/mnt/disks/ssd0/ccache
|
||||
ENV CCACHE_MAXSIZE=20G
|
||||
|
||||
# configure locale
|
||||
RUN sed --in-place '/en_US.UTF-8/s/^#//' /etc/locale.gen ;\
|
||||
|
|
|
@ -26,8 +26,8 @@ mkdir -p "${AGENT_ROOT}"
|
|||
chown -R jenkins:jenkins "${AGENT_ROOT}"
|
||||
|
||||
# prepare folder for ccache
|
||||
mkdir -p "${CCACHE_PATH}"
|
||||
chown -R jenkins:jenkins "${CCACHE_PATH}"
|
||||
mkdir -p "${CCACHE_DIR}"
|
||||
chown -R jenkins:jenkins "${CCACHE_DIR}"
|
||||
|
||||
# copy ssh keys to user jenkins
|
||||
mkdir -p ${SSH_KEY_TARGET}
|
||||
|
|
|
@ -20,9 +20,10 @@ USER=buildkite-agent
|
|||
mkdir -p "${BUILDKITE_BUILD_PATH}"
|
||||
chown -R ${USER}:${USER} "${BUILDKITE_BUILD_PATH}"
|
||||
|
||||
export CCACHE_PATH="${BUILDKITE_BUILD_PATH}"/ccache
|
||||
mkdir -p "${CCACHE_PATH}"
|
||||
chown -R ${USER}:${USER} "${CCACHE_PATH}"
|
||||
export CCACHE_DIR="${BUILDKITE_BUILD_PATH}"/ccache
|
||||
export CCACHE_MAXSIZE=20G
|
||||
mkdir -p "${CCACHE_DIR}"
|
||||
chown -R ${USER}:${USER} "${CCACHE_DIR}"
|
||||
|
||||
# /mnt/ssh should contain known_hosts, id_rsa and id_rsa.pub .
|
||||
mkdir -p /var/lib/buildkite-agent/.ssh
|
||||
|
|
|
@ -37,6 +37,7 @@ if __name__ == '__main__':
|
|||
'set -euo pipefail',
|
||||
'ccache --clear' if no_cache else '',
|
||||
'ccache --zero-stats',
|
||||
'ccache --show-config',
|
||||
'mkdir -p artifacts',
|
||||
'dpkg -l >> artifacts/packages.txt',
|
||||
'export SRC=${BUILDKITE_BUILD_PATH}/llvm-premerge-checks',
|
||||
|
@ -55,6 +56,7 @@ if __name__ == '__main__':
|
|||
f'--projects="{projects}" --log-level={log_level} {filter_output}',
|
||||
'EXIT_STATUS=\\$?',
|
||||
'echo "--- ccache stats"',
|
||||
'ccache --print-stats',
|
||||
'ccache --show-stats',
|
||||
'exit \\$EXIT_STATUS',
|
||||
],
|
||||
|
|
|
@ -37,6 +37,7 @@ if __name__ == '__main__':
|
|||
'set -euo pipefail',
|
||||
'ccache --clear' if no_cache else '',
|
||||
'ccache --zero-stats',
|
||||
'ccache --show-config',
|
||||
'mkdir -p artifacts',
|
||||
'dpkg -l >> artifacts/packages.txt',
|
||||
'export SRC=${BUILDKITE_BUILD_PATH}/llvm-premerge-checks',
|
||||
|
@ -49,6 +50,7 @@ if __name__ == '__main__':
|
|||
f'${{SRC}}/scripts/premerge_checks.py --projects="{projects}" --log-level={log_level} {filter_output}',
|
||||
'EXIT_STATUS=\\$?',
|
||||
'echo "--- ccache stats"',
|
||||
'ccache --print-stats',
|
||||
'ccache --show-stats',
|
||||
'exit \\$EXIT_STATUS',
|
||||
],
|
||||
|
|
|
@ -123,12 +123,10 @@ def _create_args(config: Configuration, llvm_enable_projects: str, use_cache: bo
|
|||
'-DCMAKE_CXX_COMPILER_LAUNCHER=sccache',
|
||||
])
|
||||
# enable ccache if the path is set in the environment
|
||||
elif 'CCACHE_PATH' in os.environ:
|
||||
elif 'CCACHE_DIR' in os.environ:
|
||||
logging.info("using ccache")
|
||||
arguments.extend([
|
||||
'-D LLVM_CCACHE_BUILD=ON',
|
||||
'-D LLVM_CCACHE_DIR={}'.format(os.environ['CCACHE_PATH']),
|
||||
'-D LLVM_CCACHE_MAXSIZE=20G',
|
||||
])
|
||||
return arguments
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
set -eux
|
||||
|
||||
# Runs Cmake.
|
||||
# Inputs: CCACHE_PATH, WORKSPACE, TARGET_DIR; $WORKSPACE/build must exist.
|
||||
# Inputs: CCACHE_DIR, WORKSPACE, TARGET_DIR; $WORKSPACE/build must exist.
|
||||
# Outputs: $TARGET_DIR/CMakeCache.txt, $WORKSPACE/compile_commands.json (symlink).
|
||||
|
||||
echo "Running CMake... ======================================"
|
||||
|
@ -27,7 +27,7 @@ cd "$WORKSPACE"/build
|
|||
set +e
|
||||
cmake -GNinja ../llvm -DCMAKE_BUILD_TYPE=Release -D LLVM_ENABLE_LLD=ON \
|
||||
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;flang" \
|
||||
-D LLVM_CCACHE_BUILD=ON -D LLVM_CCACHE_DIR="${CCACHE_PATH}" -D LLVM_CCACHE_MAXSIZE=20G \
|
||||
-D LLVM_CCACHE_BUILD=ON -D LLVM_CCACHE_DIR="${CCACHE_DIR}" -D LLVM_CCACHE_MAXSIZE=20G \
|
||||
-D LLVM_ENABLE_ASSERTIONS=ON -DCMAKE_CXX_FLAGS=-gmlt \
|
||||
-DLLVM_LIT_ARGS="-v --xunit-xml-output ${WORKSPACE}/build/test-results.xml"
|
||||
RETURN_CODE="${PIPESTATUS[0]}"
|
||||
|
|
|
@ -24,7 +24,7 @@ arguments:
|
|||
- '-D LLVM_BUILD_EXAMPLES=ON'
|
||||
- '-D LLVM_LIT_ARGS="-v --xunit-xml-output test-results.xml"'
|
||||
linux:
|
||||
# CCACHE is enabled in script iff environment variable `CCACHE_PATH` is set
|
||||
# CCACHE is enabled in script iff environment variable `CCACHE_DIR` is set
|
||||
- '-D LLVM_ENABLE_LLD=ON'
|
||||
- '-D CMAKE_CXX_FLAGS=-gmlt'
|
||||
windows: []
|
||||
|
|
Loading…
Reference in a new issue