[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