[llvm-branch-commits] [llvm] [CI] Migrate to runtimes build (PR #142696)
Aiden Grossman via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Jun 8 14:59:06 PDT 2025
https://github.com/boomanaiden154 updated https://github.com/llvm/llvm-project/pull/142696
>From 360e723b51ee201603f72b56859cd7c6d6faec24 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Thu, 5 Jun 2025 06:51:37 +0000
Subject: [PATCH 1/2] feedback
Created using spr 1.3.4
---
.ci/compute_projects.py | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index b12b729eadd3f..8134e1e2c29fb 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -145,22 +145,15 @@ def _add_dependencies(projects: Set[str], runtimes: Set[str]) -> Set[str]:
def _exclude_projects(current_projects: Set[str], platform: str) -> Set[str]:
- new_project_set = set(current_projects)
if platform == "Linux":
- for to_exclude in EXCLUDE_LINUX:
- if to_exclude in new_project_set:
- new_project_set.remove(to_exclude)
+ to_exclude = EXCLUDE_LINUX
elif platform == "Windows":
- for to_exclude in EXCLUDE_WINDOWS:
- if to_exclude in new_project_set:
- new_project_set.remove(to_exclude)
+ to_exclude = EXCLUDE_WINDOWS
elif platform == "Darwin":
- for to_exclude in EXCLUDE_MAC:
- if to_exclude in new_project_set:
- new_project_set.remove(to_exclude)
+ to_exclude = EXCLUDE_MAC
else:
- raise ValueError("Unexpected platform.")
- return new_project_set
+ raise ValueError(f"Unexpected platform: {platform}")
+ return current_projects.difference(to_exclude)
def _compute_projects_to_test(modified_projects: Set[str], platform: str) -> Set[str]:
>From 26a48b3ba70c829862788335f4b5b610dfd5dd3a Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Thu, 5 Jun 2025 08:55:00 +0000
Subject: [PATCH 2/2] feedback
Created using spr 1.3.4
---
.ci/compute_projects.py | 20 ++++++++++----------
.ci/compute_projects_test.py | 32 ++++++++++++++++----------------
.ci/monolithic-linux.sh | 8 ++++----
.github/workflows/premerge.yaml | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 8134e1e2c29fb..50a64cb15a937 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -66,7 +66,7 @@
DEPENDENT_RUNTIMES_TO_TEST = {
"clang": {"compiler-rt"},
}
-DEPENDENT_RUNTIMES_TO_TEST_MULTICONFIG = {
+DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
"llvm": {"libcxx", "libcxxabi", "libunwind"},
"clang": {"libcxx", "libcxxabi", "libunwind"},
".ci": {"libcxx", "libcxxabi", "libunwind"},
@@ -201,15 +201,15 @@ def _compute_runtimes_to_test(modified_projects: Set[str], platform: str) -> Set
return _exclude_projects(runtimes_to_test, platform)
-def _compute_runtimes_to_test_multiconfig(
+def _compute_runtimes_to_test_needs_reconfig(
modified_projects: Set[str], platform: str
) -> Set[str]:
runtimes_to_test = set()
for modified_project in modified_projects:
- if modified_project not in DEPENDENT_RUNTIMES_TO_TEST_MULTICONFIG:
+ if modified_project not in DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG:
continue
runtimes_to_test.update(
- DEPENDENT_RUNTIMES_TO_TEST_MULTICONFIG[modified_project]
+ DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG[modified_project]
)
return _exclude_projects(runtimes_to_test, platform)
@@ -246,17 +246,17 @@ 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)
runtimes_to_test = _compute_runtimes_to_test(modified_projects, platform)
- runtimes_to_test_multiconfig = _compute_runtimes_to_test_multiconfig(
+ runtimes_to_test_needs_reconfig = _compute_runtimes_to_test_needs_reconfig(
modified_projects, platform
)
runtimes_to_build = _compute_runtimes_to_build(
- runtimes_to_test | runtimes_to_test_multiconfig, modified_projects, platform
+ runtimes_to_test | runtimes_to_test_needs_reconfig, modified_projects, platform
)
projects_to_build = _compute_projects_to_build(projects_to_test, runtimes_to_build)
projects_check_targets = _compute_project_check_targets(projects_to_test)
runtimes_check_targets = _compute_project_check_targets(runtimes_to_test)
- runtimes_check_targets_multiconfig = _compute_project_check_targets(
- runtimes_to_test_multiconfig
+ runtimes_check_targets_needs_reconfig = _compute_project_check_targets(
+ runtimes_to_test_needs_reconfig
)
# We use a semicolon to separate the projects/runtimes as they get passed
# to the CMake invocation and thus we need to use the CMake list separator
@@ -267,8 +267,8 @@ def get_env_variables(modified_files: list[str], platform: str) -> Set[str]:
"project_check_targets": " ".join(sorted(projects_check_targets)),
"runtimes_to_build": ";".join(sorted(runtimes_to_build)),
"runtimes_check_targets": " ".join(sorted(runtimes_check_targets)),
- "runtimes_check_targets_multiconfig": " ".join(
- sorted(runtimes_check_targets_multiconfig)
+ "runtimes_check_targets_needs_reconfig": " ".join(
+ sorted(runtimes_check_targets_needs_reconfig)
),
}
diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index dc57a1a1f3fbc..46abc754f0353 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -29,7 +29,7 @@ def test_llvm(self):
"",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -53,7 +53,7 @@ def test_llvm_windows(self):
"",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -77,7 +77,7 @@ def test_llvm_mac(self):
"",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -101,7 +101,7 @@ def test_clang(self):
"check-compiler-rt",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -123,7 +123,7 @@ def test_clang_windows(self):
"",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -135,7 +135,7 @@ def test_bolt(self):
self.assertEqual(env_variables["project_check_targets"], "check-bolt")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_lldb(self):
env_variables = compute_projects.get_env_variables(
@@ -145,7 +145,7 @@ def test_lldb(self):
self.assertEqual(env_variables["project_check_targets"], "check-lldb")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_mlir(self):
env_variables = compute_projects.get_env_variables(
@@ -157,7 +157,7 @@ def test_mlir(self):
)
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_flang(self):
env_variables = compute_projects.get_env_variables(
@@ -167,7 +167,7 @@ def test_flang(self):
self.assertEqual(env_variables["project_check_targets"], "check-flang")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_invalid_subproject(self):
env_variables = compute_projects.get_env_variables(
@@ -177,7 +177,7 @@ def test_invalid_subproject(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_top_level_file(self):
env_variables = compute_projects.get_env_variables(["README.md"], "Linux")
@@ -185,7 +185,7 @@ def test_top_level_file(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_exclude_runtiems_in_projects(self):
env_variables = compute_projects.get_env_variables(
@@ -195,7 +195,7 @@ def test_exclude_runtiems_in_projects(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_exclude_docs(self):
env_variables = compute_projects.get_env_variables(
@@ -205,7 +205,7 @@ def test_exclude_docs(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_exclude_gn(self):
env_variables = compute_projects.get_env_variables(
@@ -215,7 +215,7 @@ def test_exclude_gn(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
def test_ci(self):
env_variables = compute_projects.get_env_variables(
@@ -235,7 +235,7 @@ def test_ci(self):
"",
)
self.assertEqual(
- env_variables["runtimes_check_targets_multiconfig"],
+ env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)
@@ -249,7 +249,7 @@ def test_lldb(self):
env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
)
self.assertEqual(env_variables["runtimes_check_targets"], "")
- self.assertEqual(env_variables["runtimes_check_targets_multiconfig"], "")
+ self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")
if __name__ == "__main__":
diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh
index aa558017ae76a..c350a58679140 100755
--- a/.ci/monolithic-linux.sh
+++ b/.ci/monolithic-linux.sh
@@ -57,7 +57,7 @@ projects="${1}"
targets="${2}"
runtimes="${3}"
runtime_targets="${4}"
-runtime_targets_multiconfig="${5}"
+runtime_targets_needs_reconfig="${5}"
lit_args="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml --use-unique-output-file-name --timeout=1200 --time-tests"
@@ -102,7 +102,7 @@ fi
# Compiling runtimes with just-built Clang and running their tests
# as an additional testing for Clang.
-if [[ "${runtime_targets_multiconfig}" != "" ]]; then
+if [[ "${runtime_targets_needs_reconfig}" != "" ]]; then
echo "--- cmake runtimes C++26"
cmake \
@@ -112,7 +112,7 @@ if [[ "${runtime_targets_multiconfig}" != "" ]]; then
echo "--- ninja runtimes C++26"
- ninja -C "${BUILD_DIR}" ${runtime_targets_multiconfig}
+ ninja -C "${BUILD_DIR}" ${runtime_targets_needs_reconfig}
echo "--- cmake runtimes clang modules"
@@ -123,5 +123,5 @@ if [[ "${runtime_targets_multiconfig}" != "" ]]; then
echo "--- ninja runtimes clang modules"
- ninja -C "${BUILD_DIR}" ${runtime_targets_multiconfig}
+ ninja -C "${BUILD_DIR}" ${runtime_targets_needs_reconfig}
fi
diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 8bf8d35abf0cf..4435a3e905768 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -56,12 +56,12 @@ jobs:
echo "Running project checks targets: ${project_check_targets}"
echo "Building runtimes: ${runtimes_to_build}"
echo "Running runtimes checks targets: ${runtimes_check_targets}"
- echo "Running multiconfig runtimes checks targets: ${runtimes_check_targets_multiconfig}"
+ echo "Running runtimes checks requiring reconfiguring targets: ${runtimes_check_targets_needs_reconfig}"
export CC=/opt/llvm/bin/clang
export CXX=/opt/llvm/bin/clang++
- ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_multiconfig}"
+ ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}"
- name: Upload Artifacts
uses: actions/upload-artifact at 65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
More information about the llvm-branch-commits
mailing list