[libcxx-commits] [libcxx] ba61615 - [libc++] Rename pre-commit CI workflows (#211844)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 24 11:56:23 PDT 2026


Author: Louis Dionne
Date: 2026-07-24T14:56:19-04:00
New Revision: ba61615b653c4f59b3cd3d721291f0b6009b0b51

URL: https://github.com/llvm/llvm-project/commit/ba61615b653c4f59b3cd3d721291f0b6009b0b51
DIFF: https://github.com/llvm/llvm-project/commit/ba61615b653c4f59b3cd3d721291f0b6009b0b51.diff

LOG: [libc++] Rename pre-commit CI workflows (#211844)

Since we're expanding libc++'s pre-commit CI to add other types of
tests, (e.g. tools tests, performance tests, etc), it makes sense to be
a bit more precise about what each workflow does, and to use a
consistent pattern across workflow names.

Also, update stale references to old names in the documentation and in
some infrastructure scripts.

Added: 
    .github/workflows/libcxx-pr-check-generated-files.yml
    .github/workflows/libcxx-pr-conformance-tests.yaml

Modified: 
    .ci/metrics/metrics.py
    .ci/metrics/metrics_test.py
    .github/workflows/libcxx-benchmark-commit.yml
    .github/workflows/libcxx-build-containers.yml
    .github/workflows/libcxx-pr-benchmark.yml
    README.md
    libcxx/docs/Contributing.rst
    libcxx/docs/index.rst

Removed: 
    .github/workflows/libcxx-build-and-test.yaml
    .github/workflows/libcxx-check-generated-files.yml


################################################################################
diff  --git a/.ci/metrics/metrics.py b/.ci/metrics/metrics.py
index ac39a47d43c07..3785e205d8360 100644
--- a/.ci/metrics/metrics.py
+++ b/.ci/metrics/metrics.py
@@ -30,7 +30,7 @@
 # This metric name is also used as a key in the job->name map.
 GITHUB_WORKFLOW_TO_TRACK = {
     "CI Checks": "github_llvm_premerge_checks",
-    "Build and Test libc++": "github_libcxx_premerge_checks",
+    "[libc++] Conformance tests": "github_libcxx_premerge_checks",
 }
 
 # Lists the Github jobs to track for a given workflow. The key is the stable
@@ -175,7 +175,7 @@ def create_and_append_libcxx_aggregates(workflow_metrics: list[JobMetrics]):
         if not isinstance(job, JobMetrics):
             continue
         # Only want libc++ jobs.
-        if job.workflow_name != "Build and Test libc++":
+        if job.workflow_name != "[libc++] Conformance tests":
             continue
         if job.workflow_id not in aggregate_data.keys():
             aggregate_data[job.workflow_id] = [job]
@@ -312,7 +312,7 @@ def github_get_metrics(
             continue
 
         libcxx_testing = False
-        if task.name == "Build and Test libc++":
+        if task.name == "[libc++] Conformance tests":
             libcxx_testing = True
 
         if task.status == "completed":

diff  --git a/.ci/metrics/metrics_test.py b/.ci/metrics/metrics_test.py
index 3004c367f96ff..727bdbfa87cda 100644
--- a/.ci/metrics/metrics_test.py
+++ b/.ci/metrics/metrics_test.py
@@ -100,7 +100,7 @@ def test_create_and_append_aggregate_metric_1_stage(self):
                 started_at_ns=1755697961000000000,
                 completed_at_ns=1755698349000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage1_test2",
@@ -111,7 +111,7 @@ def test_create_and_append_aggregate_metric_1_stage(self):
                 started_at_ns=1755698060000000000,
                 completed_at_ns=1755698417000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage1_test3",
@@ -122,7 +122,7 @@ def test_create_and_append_aggregate_metric_1_stage(self):
                 started_at_ns=1755697961000000000,
                 completed_at_ns=1755698785000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
         ]
         metrics.create_and_append_libcxx_aggregates(test_metrics)
@@ -150,7 +150,7 @@ def test_create_and_append_aggregate_metric_multiple_workflow_ids(self):
                 started_at_ns=1755697961000000000,
                 completed_at_ns=1755698349000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage1_test2",
@@ -161,7 +161,7 @@ def test_create_and_append_aggregate_metric_multiple_workflow_ids(self):
                 started_at_ns=1755698060000000000,
                 completed_at_ns=1755698417000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage1_test3",
@@ -172,7 +172,7 @@ def test_create_and_append_aggregate_metric_multiple_workflow_ids(self):
                 started_at_ns=1755697961000000000,
                 completed_at_ns=1755698785000000000,
                 workflow_id=25,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
         ]
         metrics.create_and_append_libcxx_aggregates(test_metrics)
@@ -211,7 +211,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755697053000000000,
                 completed_at_ns=1755698507000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage1_test2",
@@ -222,7 +222,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755697058000000000,
                 completed_at_ns=1755697885000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage2_test1",
@@ -233,7 +233,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755698513000000000,
                 completed_at_ns=1755699093000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage2_test2",
@@ -244,7 +244,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755698514000000000,
                 completed_at_ns=1755698987000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage2_test3",
@@ -255,7 +255,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755698514000000000,
                 completed_at_ns=1755699334000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage3_test1",
@@ -266,7 +266,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755709012000000000,
                 completed_at_ns=1755709931000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage3_test2",
@@ -277,7 +277,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755709146000000000,
                 completed_at_ns=1755709980000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "libcxx_stage3_test3",
@@ -288,7 +288,7 @@ def test_create_and_append_aggregate_metric_3_stages(self):
                 started_at_ns=1755709136000000000,
                 completed_at_ns=1755709514000000000,
                 workflow_id=17,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
         ]
         metrics.create_and_append_libcxx_aggregates(test_metrics)
@@ -341,7 +341,7 @@ def test_create_and_append_aggregate_metric_mixed_job_types(self):
                 started_at_ns=1755697961000000000,
                 completed_at_ns=1755698349000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "ci_test2", 3, 20, 1, 2000, 2200, 2400, 37, "premerge_test"
@@ -355,7 +355,7 @@ def test_create_and_append_aggregate_metric_mixed_job_types(self):
                 started_at_ns=1755698060000000000,
                 completed_at_ns=1755698417000000000,
                 workflow_id=3,
-                workflow_name="Build and Test libc++",
+                workflow_name="[libc++] Conformance tests",
             ),
             metrics.JobMetrics(
                 "ci_test3", 7, 35, 1, 3000, 3200, 3400, 85, "premerge_test"

diff  --git a/.github/workflows/libcxx-benchmark-commit.yml b/.github/workflows/libcxx-benchmark-commit.yml
index 683ff141d060e..90ade6c45cf21 100644
--- a/.github/workflows/libcxx-benchmark-commit.yml
+++ b/.github/workflows/libcxx-benchmark-commit.yml
@@ -2,7 +2,7 @@
 # This workflow is intended to be triggered manually or via the Github API. As such,
 # it requires several inputs that allow customizing its behavior.
 
-name: Benchmark libc++ commit
+name: "[libc++] Run benchmark suite against commit"
 
 permissions:
   contents: read

diff  --git a/.github/workflows/libcxx-build-containers.yml b/.github/workflows/libcxx-build-containers.yml
index 814de39a5e0a9..2789851da391b 100644
--- a/.github/workflows/libcxx-build-containers.yml
+++ b/.github/workflows/libcxx-build-containers.yml
@@ -5,7 +5,7 @@
 # and tagged appropriately. The selection of which Docker image version is used by the libc++
 # CI nodes at any given point is controlled from the workflow files themselves.
 
-name: Build Docker images for libc++ CI
+name: "[libc++] Build CI Docker images"
 
 permissions:
   contents: read

diff  --git a/.github/workflows/libcxx-pr-benchmark.yml b/.github/workflows/libcxx-pr-benchmark.yml
index 31bf6ffb224b6..92668a2f79f6c 100644
--- a/.github/workflows/libcxx-pr-benchmark.yml
+++ b/.github/workflows/libcxx-pr-benchmark.yml
@@ -7,7 +7,7 @@
 # That will cause the specified benchmarks to be run on the PR and on the pull-request target, and
 # their results to be compared.
 
-name: Benchmark libc++ PR
+name: "[libc++] Benchmark PR"
 
 permissions:
   contents: read

diff  --git a/.github/workflows/libcxx-check-generated-files.yml b/.github/workflows/libcxx-pr-check-generated-files.yml
similarity index 94%
rename from .github/workflows/libcxx-check-generated-files.yml
rename to .github/workflows/libcxx-pr-check-generated-files.yml
index d66d1da22f2ad..66f2735b08eab 100644
--- a/.github/workflows/libcxx-check-generated-files.yml
+++ b/.github/workflows/libcxx-pr-check-generated-files.yml
@@ -1,4 +1,4 @@
-name: "Check libc++ generated files"
+name: "[libc++] Check generated files"
 on:
   pull_request:
     paths:

diff  --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-pr-conformance-tests.yaml
similarity index 98%
rename from .github/workflows/libcxx-build-and-test.yaml
rename to .github/workflows/libcxx-pr-conformance-tests.yaml
index b95230b725a88..a7a93a110428c 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-pr-conformance-tests.yaml
@@ -1,4 +1,5 @@
-# This file defines pre-commit CI for libc++, libc++abi, and libunwind (on Github).
+# This file defines a workflow that runs conformance tests for libc++, libc++abi and libunwind when
+# a PR is created or updated.
 #
 # We split the configurations in multiple stages with the intent of saving compute time
 # when a job fails early in the pipeline. This is why the jobs are marked as `continue-on-error: false`.
@@ -12,7 +13,7 @@
 # under the assumption that if the "smoke tests" fail, then the other configurations will likely fail in the same way.
 # However, stage 3 does not fail fast, as it's more likely that any one job failing is a flake or a configuration-specific
 #
-name: Build and Test libc++
+name: "[libc++] Conformance tests"
 on:
   pull_request:
     paths:
@@ -21,7 +22,7 @@ on:
       - 'libunwind/**'
       - 'runtimes/**'
       - 'cmake/**'
-      - '.github/workflows/libcxx-build-and-test.yaml'
+      - '.github/workflows/libcxx-pr-conformance-tests.yaml'
   schedule:
     # Run nightly at 08:00 UTC (aka 00:00 Pacific, aka 03:00 Eastern)
     - cron: '0 8 * * *'

diff  --git a/README.md b/README.md
index a9b29ecbc1a3a..55425f05c9879 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/llvm/llvm-project/badge)](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project)
 [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8273/badge)](https://www.bestpractices.dev/projects/8273)
-[![libc++](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml/badge.svg?branch=main&event=schedule)](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule)
+[![libc++](https://github.com/llvm/llvm-project/actions/workflows/libcxx-pr-conformance-tests.yaml/badge.svg?branch=main&event=schedule)](https://github.com/llvm/llvm-project/actions/workflows/libcxx-pr-conformance-tests.yaml?query=event%3Aschedule)
 
 Welcome to the LLVM project!
 

diff  --git a/libcxx/docs/Contributing.rst b/libcxx/docs/Contributing.rst
index 465bf9d0542c8..3c4d45dd17ce0 100644
--- a/libcxx/docs/Contributing.rst
+++ b/libcxx/docs/Contributing.rst
@@ -272,7 +272,7 @@ The libcxx linux premerge testing can run on one of three sets of runner
 groups. The three runner group names are ``llvm-premerge-libcxx-runners``,
 ``llvm-premerge-libcxx-release-runners`` and ``llvm-premerge-libcxx-next-runners``.
 The runner set currently in use is controlled by the contents of
-https://github.com/llvm/llvm-project/blob/main/.github/workflows/libcxx-build-and-test.yaml.
+https://github.com/llvm/llvm-project/blob/main/.github/workflows/libcxx-pr-conformance-tests.yaml.
 By default, it uses ``llvm-premerge-libcxx-runners``. To switch to one of the
 other runner sets, just replace all uses of ``llvm-premerge-libcxx-runners`` in
 the yaml file with the desired runner set.

diff  --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index 13aa481b1f9b7..d6bbc771f0e6b 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -237,7 +237,7 @@ Design Documents
 Build Bots and Test Coverage
 ============================
 
-* `Github Actions CI pipeline <https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml>`_
+* `Github Actions CI pipeline <https://github.com/llvm/llvm-project/actions/workflows/libcxx-pr-conformance-tests.yaml>`_
 * `Buildkite CI pipeline <https://buildkite.com/llvm-project/libcxx-ci>`_
 * `LLVM Buildbot Builders <https://lab.llvm.org/buildbot>`_
 * :ref:`Adding New CI Jobs <AddingNewCIJobs>`


        


More information about the libcxx-commits mailing list