[libcxx-commits] [libcxx] [libcxx] Update testing documentation about CI container images. (PR #149192)
Aiden Grossman via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 29 06:48:46 PDT 2025
================
@@ -261,6 +264,67 @@ GCC, and CMake.
.. note:: This image is pulled from Docker hub and not rebuild when changing
the Dockerfile.
+Updating the CI testing container images
+----------------------------------------
+
+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"
+or "llvm-premerge-libcxx-next-runners". Which runner set to use is
+controlled by the contents of https://github.com/llvm/llvm-project/blob/main/.github/workflows/libcxx-build-and-test.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.
+
+Which container image is used by these three runner sets is controlled
+and set by the variable values in
+https://github.com/llvm/llvm-zorg/blob/main/premerge/premerge_resources/variables.tf.
+The table below shows the variable names and
+the runner sets to which they correspond. To see their values, follow the
+link above (to variables.tf in llvm-zorg).
+
++------------------------------------+---------------------------+
+|Runner Set |Variable |
++====================================+===========================+
+|llvm-premerge-libcxx-runners |libcxx_runner_image |
++------------------------------------+---------------------------+
+|llvm-premerge-libcxx-release-runners|libcxx_release_runner_image|
++------------------------------------+---------------------------+
+|llvm-premerge-libcxx-next-runners |libcxx_next_runner_image |
++------------------------------------+---------------------------+
+
+
+When updating the container image you can either update just the
+runner binary (the part the connects to Github), or you can update
+everything (tools, etc.). Whether to update just the runner or to update
+everything is controlled by the value of ``ACTIONS_BASE_IMAGE``, under
+``actions-builder`` in ``libcxx/utils/ci/docker-compose.yml``.
+
+To update just the runner binary, change the value of
+``ACTIONS_BASE_IMAGE`` to be one of the libcxx runner variable images
+from
+https://github.com/llvm/llvm-zorg/blob/main/premerge/premerge_resources/variables.tf.
----------------
boomanaiden154 wrote:
Maybe a bit more specific than this, you'll want the `builder-base` image at the same commit SHA.
So if you have `ghcr.io/llvm/libcxx-linux-builder:16f046281bf1a11d344eac1bc44d11f3e50e3b5d` currently, you would want to set `ACTIONS_BASE_IMAGE` to `ghcr.io/llvm/libcxx-linux-builder-base:16f046281bf1a11d344eac1bc44d11f3e50e3b5d`
https://github.com/llvm/llvm-project/pull/149192
More information about the libcxx-commits
mailing list