How To Add Your Build Configuration To LLVM Buildbot Infrastructure¶
Introduction¶
This document contains information about adding a build configuration andbuildbot-worker to private worker builder to LLVM Buildbot Infrastructure.
Buildmasters¶
There are two buildmasters running.
The main buildmaster athttp://lab.llvm.org:8011. All builders attachedto this machine will notify commit authors every time they break the build.
The staging buildbot athttp://lab.llvm.org:8014. All builders attachedto this machine will be completely silent by default when the build is broken.Builders for experimental backends should generally be attached to thisbuildmaster.
Steps To Add Builder To LLVM Buildbot¶
Volunteers can provide their build machines to work as build workers topublic LLVM Buildbot.
Here are the steps you can follow to do so:
Check the existing build configurations to make sure the one you areinterested in is not covered yet or gets built on your computer muchfaster than on the existing one. We prefer faster builds so developerswill get feedback sooner after changes get committed.
The computer you will be registering with the LLVM buildbotinfrastructure should have all dependencies installed and you canactually build your configuration successfully. Please check what degreeof parallelism (-j param) would give the fastest build. You can buildmultiple configurations on one computer.
Install buildbot-worker (currently we are using buildbot version 2.8.5).Depending on the platform, buildbot-worker could be available to download andinstall with your package manager, or you can download it directly fromhttp://trac.buildbot.net and install it manually.
Create a designated user account, your buildbot-worker will be running under,and set appropriate permissions.
Choose the buildbot-worker root directory (all builds will be placed underit), buildbot-worker access name and password the build master will be usingto authenticate your buildbot-worker.
Create a buildbot-worker in context of that buildbot-worker account. Point itto thelab.llvm.org port9990 (seeBuildbot documentation,Creating a workerfor more details) by running the following command:
$ buildbot-worker create-worker <buildbot-worker-root-directory>\ lab.llvm.org:9990\ <buildbot-worker-access-name>\ <buildbot-worker-access-password>
To point a worker to silent master please use lab.llvm.org:9994 insteadof lab.llvm.org:9990.
Fill the buildbot-worker description and admin name/e-mail. Here is anexample of the buildbot-worker description:
Windows7x64Corei7(2.66GHz),16GBofRAMg++.exe(TDM-1mingw32)4.4.0GNUBinutils2.19.1cmakeversion2.8.4Microsoft(R)32-bitC/C++OptimizingCompilerVersion16.00.40219.01for80x86
Make sure you can actually start the buildbot-worker successfully. Then setup your buildbot-worker to start automatically at the start up time. See thebuildbot documentation for help. You may want to restart your computerto see if it works.
Send a patch which adds your build worker and your builder tozorg. Use the typical LLVMworkflow.
workers are added to
buildbot/osuosl/master/config/workers.py
builders are added to
buildbot/osuosl/master/config/builders.py
Please make sure your builder name and its builddir are unique through thefile.
It is possible to allow email addresses to unconditionally receivenotifications on build failure; for this you’ll need to add an
InformativeMailNotifier
tobuildbot/osuosl/master/config/status.py
.This is particularly useful for the staging buildmaster which is silentotherwise.Send the buildbot-worker access name and the access password directly toGalina Kistanova, and wait till shewill let you know that your changes are applied and buildmaster isreconfigured.
Check the status of your buildbot-worker on theWaterfall Display to make sure it is connected, and
http://lab.llvm.org:8011/#/workers
to see if administrator contact andworker information are correct.Wait for the first build to succeed and enjoy.