[clang] [libc++] Add a CI job for the LLDB data formatters (PR #65174)

Louis Dionne via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 12 16:50:28 PDT 2023


https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/65174

>From 9ff29c54e97dab71488ffe50ac871f007d357e4f Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Fri, 9 Sep 2022 19:12:18 -0400
Subject: [PATCH 1/2] [libc++] Add a CI job for the LLDB data formatters

This patch adds a CI job running the LLDB data formatters in the libc++
CI. This should avoid breaking the LLDB data formatters when e.g. the
layout of libc++ data structures is changed.

This was originally opened as https://reviews.llvm.org/D133621.
---
 libcxx/utils/ci/buildkite-pipeline.yml | 16 ++++++++++++++++
 libcxx/utils/ci/run-buildbot           | 14 ++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 723ae438619745f..929838cd91ae594 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -728,6 +728,22 @@ steps:
           limit: 2
     timeout_in_minutes: 120
 
+  - label: "LLDB Data Formatters"
+    command: "libcxx/utils/ci/run-buildbot check-lldb-data-formatters"
+    artifact_paths:
+      - "**/test-results.xml"
+    env:
+        CC: "clang-${LLVM_HEAD_VERSION}"
+        CXX: "clang++-${LLVM_HEAD_VERSION}"
+    agents:
+      queue: "libcxx-builders"
+      os: "linux"
+    retry:
+      automatic:
+        - exit_status: -1  # Agent was lost
+          limit: 2
+    timeout_in_minutes: 120
+
   # Other non-testing CI jobs
   - label: "Benchmarks"
     command: "libcxx/utils/ci/run-buildbot benchmarks"
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index fb4c5e1bfcf65be..f7edf436cf6c391 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -574,6 +574,20 @@ benchmarks)
     generate-cmake
     check-cxx-benchmarks
 ;;
+check-lldb-data-formatters)
+    clean
+    ${CMAKE}                                        \
+        -S "${MONOREPO_ROOT}/llvm"                  \
+        -B "${BUILD_DIR}"                           \
+        -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}"     \
+        -DCMAKE_BUILD_TYPE=RelWithDebInfo           \
+        -DLLVM_ENABLE_ASSERTIONS=ON                 \
+        -DLLDB_ENABLE_PYTHON=ON                     \
+        -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb'    \
+        -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi'
+
+    ${NINJA} -C "${BUILD_DIR}" check-lldb-api-functionalities-data-formatter-data-formatter-stl-libcxx
+;;
 documentation)
     clean
     generate-cmake -DLLVM_ENABLE_SPHINX=ON

>From 63879abeb3d62494b5602c66afcc647674acbe78 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Thu, 12 Oct 2023 16:50:06 -0700
Subject: [PATCH 2/2] [libc++] Upload artifacts of the Bootstrapping build to
 BK

---
 libcxx/utils/ci/run-buildbot | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index dd387357f0cd86b..705f6969f44142d 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -367,6 +367,10 @@ bootstrapping-build)
           -DLLVM_ENABLE_ASSERTIONS=ON \
           -DLLVM_LIT_ARGS="-v --show-unsupported --xunit-xml-output test-results.xml --timeout=1500 --time-tests"
 
+    ${NINJA} -vC "${BUILD_DIR}" install-clang install-clang-resource-headers
+    tar -cJvf install.tar.xz ${INSTALL_DIR}
+    buildkite-agent artifact upload --debug install.tar.xz
+
     echo "+++ Running the libc++ and libc++abi tests"
     ${NINJA} -vC "${BUILD_DIR}" check-runtimes
 



More information about the cfe-commits mailing list