diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -288,6 +288,17 @@ - exit_status: -1 # Agent was lost limit: 2 + - label: "Runtimes build" + command: "libcxx/utils/ci/run-buildbot runtimes-build" + artifact_paths: + - "**/test-results.xml" + agents: + queue: "libcxx-builders" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + # All jobs defined before this `wait` will run whenever a CI job is started. # Jobs defined after the `wait` will run only if all the jobs above succeeded. # We use this to reduce the load on testers that have more constrained resources diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -353,6 +353,28 @@ check-cxx-cxxabi ;; +runtimes-build) + export CC=clang + export CXX=clang++ + + clean + + echo "--- Generating CMake" + cmake -S "${MONOREPO_ROOT}/llvm" \ + -B "${BUILD_DIR}" \ + -GNinja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ + -DLLVM_ENABLE_PROJECTS="clang" \ + -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ + -DLLVM_RUNTIME_TARGETS="x86_64-unknown-linux" + + echo "+++ Running the libc++ and libc++abi tests" + ${NINJA} -C "${BUILD_DIR}" check-runtimes + + echo "--- Installing libc++ and libc++abi to a fake location" + ${NINJA} -C "${BUILD_DIR}" install-cxx install-cxxabi +;; legacy-standalone) export CC=clang export CXX=clang++