From 19ef02e3f4f82a439a94479589a9f1244d0b1b06 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 18 May 2023 14:16:24 -0700 Subject: [PATCH] [libc++][ci] Use ccache in the jobs that build Clang This is an attempt to reduce the time taken by the Bootstrapping build job and the Clang CI job that builds the compiler from scratch. Differential Revision: https://reviews.llvm.org/D150908 --- libcxx/utils/ci/buildkite-pipeline-clang.yml | 3 ++- libcxx/utils/ci/run-buildbot | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libcxx/utils/ci/buildkite-pipeline-clang.yml b/libcxx/utils/ci/buildkite-pipeline-clang.yml index 40bb80a..323f4cf 100644 --- a/libcxx/utils/ci/buildkite-pipeline-clang.yml +++ b/libcxx/utils/ci/buildkite-pipeline-clang.yml @@ -23,8 +23,9 @@ steps: # We use Release here to avoid including debug information. Otherwise, the clang binary is very large, which # is problematic because we need to upload the artifacts for other jobs to use. This may seem like nothing, # but with the number of jobs we run daily, this can result in thousands of GB of network I/O. - - "cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DLLVM_ENABLE_PROJECTS=\"clang;compiler-rt\"" + - "cmake -S llvm -B build -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DLLVM_ENABLE_PROJECTS=\"clang;compiler-rt\"" - "ninja -C build install-clang install-clang-resource-headers" + - "ccache -s" - "tar -cJvf install.tar.xz install/" - "buildkite-agent artifact upload --debug install.tar.xz" env: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index 420dfde..6502012 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -340,6 +340,7 @@ bootstrapping-build) -S "${MONOREPO_ROOT}/llvm" \ -B "${BUILD_DIR}" \ -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ -DLLVM_ENABLE_PROJECTS="clang" \ -- 2.7.4