[libcxx-commits] [PATCH] D142566: [libc++] Add documentation for reproducing CI issues locally

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jan 25 10:09:57 PST 2023


ldionne created this revision.
Herald added a project: All.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142566

Files:
  libcxx/docs/TestingLibcxx.rst


Index: libcxx/docs/TestingLibcxx.rst
===================================================================
--- libcxx/docs/TestingLibcxx.rst
+++ libcxx/docs/TestingLibcxx.rst
@@ -100,6 +100,24 @@
 These tools are:
 - clang-tidy (you might need additional dev packages to compile libc++-specific clang-tidy checks)
 
+Reproducing CI issues locally
+-----------------------------
+
+Libc++ has extensive CI that tests various configurations of the library. The testing for
+all these configurations is located in ``libcxx/utils/ci/run-buildbot``. Most of our
+CI jobs are being run on a Docker image for reproducibility. The definition of this Docker
+image is located in ``libcxx/utils/ci/Dockerfile``. If you are looking to reproduce the
+failure of a specific CI job locally, you should first drop into a Docker container that
+matches our CI images by running ``libcxx/utils/ci/run-buildbot-container``, and then run
+the specific CI job that you're interested in (from within the container) using the ``run-buildbot``
+script above. Take note that some CI jobs are testing the library on specific platforms and
+are *not* run in our Docker image. In the general case, it is not possible to reproduce these
+failures locally, unless they aren't specific to the platform.
+
+Also note that the Docker container shares the same filesystem as your local machine, so
+modifying files on your local machine will also modify what the Docker container sees.
+This is useful for editing source files as you're testing your code in the Docker container.
+
 Writing Tests
 -------------
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142566.492166.patch
Type: text/x-patch
Size: 1579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230125/14dca782/attachment.bin>


More information about the libcxx-commits mailing list