@@ -100,6 +100,26 @@ The libc++ test suite uses a few optional tools to improve the code quality.
100
100
These tools are:
101
101
- clang-tidy (you might need additional dev packages to compile libc++-specific clang-tidy checks)
102
102
103
+ Reproducing CI issues locally
104
+ -----------------------------
105
+
106
+ Libc++ has extensive CI that tests various configurations of the library. The testing for
107
+ all these configurations is located in ``libcxx/utils/ci/run-buildbot ``. Most of our
108
+ CI jobs are being run on a Docker image for reproducibility. The definition of this Docker
109
+ image is located in ``libcxx/utils/ci/Dockerfile ``. If you are looking to reproduce the
110
+ failure of a specific CI job locally, you should first drop into a Docker container that
111
+ matches our CI images by running ``libcxx/utils/ci/run-buildbot-container ``, and then run
112
+ the specific CI job that you're interested in (from within the container) using the ``run-buildbot ``
113
+ script above. If you want to control which compiler is used, you can set the ``CC `` and the
114
+ ``CXX `` environment variables before calling ``run-buildbot `` to select the right compiler.
115
+ Take note that some CI jobs are testing the library on specific platforms and are *not * run
116
+ in our Docker image. In the general case, it is not possible to reproduce these failures
117
+ locally, unless they aren't specific to the platform.
118
+
119
+ Also note that the Docker container shares the same filesystem as your local machine, so
120
+ modifying files on your local machine will also modify what the Docker container sees.
121
+ This is useful for editing source files as you're testing your code in the Docker container.
122
+
103
123
Writing Tests
104
124
-------------
105
125
0 commit comments