Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

With this, all changes, repo updates and branch moves will automatically be reflected on your buildmaster.

On MacOS, a rust compiler is needed and some compiler flags need to be passed for the installation of some packages to succeed:

$ brew install rust
$ env LDFLAGS="-L$(brew --prefix openssl@3)/lib" CFLAGS="-Wno-error=implicit-function-declaration -I$(brew --prefix openssl@3)/include" pip3 install -r requirements.txt

NOTE: it's better to use virtualenv to avoid conflicts between system's python packages and those installed with pip.

Installing Buildbot for LLVM

...

Info
titleSegmentation fault

If you get from pip3

Code Block
Successfully installed ...
Segmentation fault (core dumped)

then try removing PIP's cache in ~/.local/

Code Block
$ rm -rf ~/.local/


On MacOS, the latest buildbot version didn't work, but version 2.8.4 worked fine (04/12/2023):

$ pip3 install buildbot==2.8.4 buildbot-worker==2.8.4 buildbot-www==2.8.4 buildbot-waterfall-view==2.8.4 buildbot-console-view==2.8.4 buildbot-grid-view==2.8.4


Now, you need to create a build dir:

...

NOTE: If you get errors like "OSError: [Errno 13] Permission denied: '/..../decorator.py'", it means that package is not installed system-wide. Use "sudo pip install <package>" to get it to work.

NOTE2: Avoid installing any other package (especially twisted, buildbot, etc.) as root. This would break other people's bots if you're not in a container. Just install the ones missing.

NOTE3: On MacOS, it was necessary to upgrade package pyOpenSSL (latest: 23.3.0) and downgrade markupsafe (2.0.1).

Adding Zorg's config to buildmaster

...

Remove *-sphinx-*  builders if they cause problems on buildmaster startup.

In this case, the publish-lnt-sphinx-docs builder also needs to be removed, from getLntSchedulers(), in config/schedulers.py (the easiest way is to just "return []").

You may also want to remove other uninteresting builders to speed up startup.

...

The easiest way to do this is to modify the getReporters() function to always return [], and remove/comment the "status_email = ..." line.

If you want to play with these settings, so you can receive emails for your own builds, go ahead and try. But make sure no one else gets those emails.

...