[llvm] [lldb][windows] build lldb and lldb-dap in PR testing (PR #195884)

via llvm-commits llvm-commits at lists.llvm.org
Tue May 5 10:26:42 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-infrastructure

Author: Charles Zablit (charles-zablit)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/195884.diff


2 Files Affected:

- (modified) .ci/compute_projects.py (+22-5) 
- (modified) .ci/compute_projects_test.py (+13-2) 


``````````diff
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 40dd0507a9eaf..b6868c1cb27c1 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -76,7 +76,6 @@
     "compiler-rt",  # TODO(issues/132798): Tests take excessive time.
     "openmp",  # TODO(issues/132799): Does not detect perl installation.
     "libc",  # No Windows Support.
-    "lldb",  # TODO(issues/132800): Needs environment setup.
     "bolt",  # No Windows Support.
 }
 
@@ -115,13 +114,25 @@
     "lld": "check-lld",
     "flang": "check-flang",
     "libc": "check-libc",
-    "lld": "check-lld",
-    "lldb": "check-lldb",
     "mlir": "check-mlir",
     "openmp": "check-openmp",
     "polly": "check-polly",
 }
 
+# Overrides for PROJECT_CHECK_TARGETS on a per-platform basis. If a platform
+# has an entry for a given project here, its value is used as the ninja
+# target(s) instead of the default check target. This is intended for cases
+# where a project can be built but its tests are not yet stable on that
+# platform, so we still want a compile-time signal.
+PROJECT_CHECK_TARGETS_OVERRIDE = {
+    "Windows": {
+        # TODO(issues/132800): LLDB tests need environment setup on Windows.
+        # In the meantime, at least compile lldb and lldb-dap to catch
+        # breakage.
+        "lldb": "lldb lldb-dap",
+    },
+}
+
 RUNTIMES = {"libcxx", "libcxxabi", "libunwind"}
 
 
@@ -175,9 +186,15 @@ def _compute_projects_to_build(projects_to_test: Set[str]) -> Set[str]:
     return _add_dependencies(projects_to_test)
 
 
-def _compute_project_check_targets(projects_to_test: Set[str]) -> Set[str]:
+def _compute_project_check_targets(
+    projects_to_test: Set[str], platform: str
+) -> Set[str]:
     check_targets = set()
+    platform_overrides = PROJECT_CHECK_TARGETS_OVERRIDE.get(platform, {})
     for project_to_test in projects_to_test:
+        if project_to_test in platform_overrides:
+            check_targets.add(platform_overrides[project_to_test])
+            continue
         if project_to_test not in PROJECT_CHECK_TARGETS:
             continue
         check_targets.add(PROJECT_CHECK_TARGETS[project_to_test])
@@ -226,7 +243,7 @@ def get_env_variables(modified_files: list[str], platform: str) -> Set[str]:
     modified_projects = _get_modified_projects(modified_files)
     projects_to_test = _compute_projects_to_test(modified_projects, platform)
     projects_to_build = _compute_projects_to_build(projects_to_test)
-    projects_check_targets = _compute_project_check_targets(projects_to_test)
+    projects_check_targets = _compute_project_check_targets(projects_to_test, platform)
     runtimes_to_build = _compute_runtimes_to_test(projects_to_test)
     runtimes_check_targets = _compute_runtime_check_targets(projects_to_test)
     # We use a semicolon to separate the projects/runtimes as they get passed
diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index ae376ea6a43cd..4a8e06cc35bbc 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -35,11 +35,11 @@ def test_llvm_windows(self):
         )
         self.assertEqual(
             env_variables["projects_to_build"],
-            "clang;clang-tools-extra;lld;llvm;mlir;polly",
+            "clang;clang-tools-extra;lld;lldb;llvm;mlir;polly",
         )
         self.assertEqual(
             env_variables["project_check_targets"],
-            "check-clang check-clang-tools check-lld check-llvm check-mlir check-polly",
+            "check-clang check-clang-tools check-lld check-llvm check-mlir check-polly lldb lldb-dap",
         )
         self.assertEqual(
             env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
@@ -216,6 +216,17 @@ def test_lldb(self):
         )
         self.assertEqual(env_variables["runtimes_check_targets"], "")
 
+    def test_lldb_windows(self):
+        env_variables = compute_projects.get_env_variables(
+            ["lldb/CMakeLists.txt"], "Windows"
+        )
+        self.assertEqual(env_variables["projects_to_build"], "clang;lldb;llvm")
+        self.assertEqual(env_variables["project_check_targets"], "lldb lldb-dap")
+        self.assertEqual(
+            env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
+        )
+        self.assertEqual(env_variables["runtimes_check_targets"], "")
+
 
 if __name__ == "__main__":
     unittest.main()

``````````

</details>


https://github.com/llvm/llvm-project/pull/195884


More information about the llvm-commits mailing list