Skip to content

Commit bb6073c

Browse files
committed
[clang] Fix the pre-commit CI pipeline after changes to libc++'s own CI pipeline
We made some changes to the libc++ CI pipeline that take for granted that we're running on libc++'s own Docker images. This was necessary for a temporary period until widely-used tools update to a version that can handle C++20 modules. However, this had the unintended consequence of breaking the Clang CI pipeline, which used the libc++ CI scripts as an implementation detail. Instead, decouple the Clang CI pipeline from the libc++ build scripts. Differential Revision: https://reviews.llvm.org/D158690
1 parent aa60b26 commit bb6073c

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

clang/utils/ci/run-buildbot

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
6060
BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build/${BUILDER}}"
6161
INSTALL_DIR="${BUILD_DIR}/install"
6262

63+
function clean() {
64+
rm -rf "${BUILD_DIR}"
65+
}
66+
6367
# Print the version of a few tools to aid diagnostics in some cases
6468
cmake --version
6569
ninja --version
@@ -95,23 +99,53 @@ generic-cxx03)
9599
export CC=$(pwd)/install/bin/clang
96100
export CXX=$(pwd)/install/bin/clang++
97101
chmod +x install/bin/clang install/bin/clang++
98-
libcxx/utils/ci/run-buildbot generic-cxx03
102+
103+
clean
104+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${BUILD_DIR}" -GNinja \
105+
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
106+
-DLIBCXX_CXX_ABI=libcxxabi \
107+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
108+
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
109+
-DLIBCXX_TEST_PARAMS="std=c++03" \
110+
-DLIBCXXABI_TEST_PARAMS="std=c++03"
111+
112+
ninja -vC "${BUILD_DIR}" check-runtimes
99113
;;
100114
generic-cxx26)
101115
buildkite-agent artifact download install.tar.xz .
102116
tar -xvf install.tar.xz
103117
export CC=$(pwd)/install/bin/clang
104118
export CXX=$(pwd)/install/bin/clang++
105119
chmod +x install/bin/clang install/bin/clang++
106-
libcxx/utils/ci/run-buildbot generic-cxx26
120+
121+
clean
122+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${BUILD_DIR}" -GNinja \
123+
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
124+
-DLIBCXX_CXX_ABI=libcxxabi \
125+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
126+
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
127+
-DLIBCXX_TEST_PARAMS="std=c++26" \
128+
-DLIBCXXABI_TEST_PARAMS="std=c++26"
129+
130+
ninja -vC "${BUILD_DIR}" check-runtimes
107131
;;
108132
generic-modules)
109133
buildkite-agent artifact download install.tar.xz .
110134
tar -xvf install.tar.xz
111135
export CC=$(pwd)/install/bin/clang
112136
export CXX=$(pwd)/install/bin/clang++
113137
chmod +x install/bin/clang install/bin/clang++
114-
libcxx/utils/ci/run-buildbot generic-modules
138+
139+
clean
140+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${BUILD_DIR}" -GNinja \
141+
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
142+
-DLIBCXX_CXX_ABI=libcxxabi \
143+
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
144+
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
145+
-DLIBCXX_TEST_PARAMS="enable_modules=clang" \
146+
-DLIBCXXABI_TEST_PARAMS="enable_modules=clang"
147+
148+
ninja -vC "${BUILD_DIR}" check-runtimes
115149
;;
116150
#################################################################
117151
# Insert vendor-specific internal configurations below.

0 commit comments

Comments
 (0)