[llvm] [docs] Expand HowToAddABuilder with guidance on testing locally (PR #115024)
David Spickett via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 6 02:23:10 PST 2024
================
@@ -179,6 +179,74 @@ Here are the steps you can follow to do so:
buildbot.tac file to change the port number from 9994 to 9990 and start it
again.
+Testing a Builder Config Locally
+================================
+
+It's possible to test a builder running against a local version of LLVM's
+buildmaster configuration. This can be helpful to allow quickly identifying
+and iterating over fixes to any issues in either the changes that introduce
+the new builder, or the machine configuration for your worker (preinstalled
+packages etc). A buildmaster launched in this "local testing" mode will bind
+only to local interfaces, use SQLite as the database, use a fixed password for
+workers, and disable things like GitHub authentication.
+
+* Within a checkout of `llvm-zorg <https://github.com/llvm/llvm-zorg>`_,
+ create and activate a Python `venv
+ <https://docs.python.org/3/library/venv.html>`_ and install the necessary
+ dependencies.
+
+ .. code-block:: bash
+
+ python -m venv bbenv
+ source bbenv/bin/activate
+ pip install buildbot{,-console-view,-grid-view,-waterfall-view,-worker,-www}==3.11.7 urllib3
+
+* Initialise the necessary buildmaster files, link to the configuration in
+ ``llvm-zorg`` and run a litmus check (run in the directory of your choice):
+
+ .. code-block:: bash
+
+ buildbot create-master llvm-testbbmaster
+ cd llvm-testbbmaster
+ ln -s /path/to/checkout/of/llvm-zorg/buildbot/osuosl/master/master.cfg .
+ ln -s /path/to/checkout/of/llvm-zorg/buildbot/osuosl/master/config/ .
+ ln -s /path/to/checkout/of/llvm-zorg/zorg/ .
+ BUILDMASTER_TEST=1 buildbot checkconfig
+
+* Start the buildmaster using the command below. After a few seconds to
+ startup, you should be able to open the web UI at ``http://localhost:8011``.
+ If there are any errors or this isn't working, be sure to check
+ ``twistd.log`` for more information.
+
+ .. code-block:: bash
+
+ BUILDMASTER_TEST=1 buildbot start --nodaemon .
+
+* With the above in place, you can now create and start a buildbot worker.
+ Ensure you pick the correct name for the worker attached to the build
+ configuration you want to test in
+ ``buildbot/osuosl/master/config/builders.py``. After doing the below, either
----------------
DavidSpickett wrote:
Instead of making the reader refer back to this part, just move this below the command. Then the text is in order and there's no need for "after the below".
https://github.com/llvm/llvm-project/pull/115024
More information about the llvm-commits
mailing list