[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:12 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:
Remember that bullet points can have multiple paragraphs if you keep the indentation the same.
https://github.com/llvm/llvm-project/pull/115024
More information about the llvm-commits
mailing list