Galina Kistanova | e30ba2e | 2012-09-13 23:51:08 +0000 | [diff] [blame^] | 1 | .. _how_to_add_a_builder: |
| 2 | |
| 3 | =================================================================== |
| 4 | How To Add Your Build Configuration To LLVM Buildbot Infrastructure |
| 5 | =================================================================== |
| 6 | |
| 7 | .. sectionauthor:: Galina Kistanova <gkistanova@gmail.com> |
| 8 | |
| 9 | Introduction |
| 10 | ============ |
| 11 | |
| 12 | This document contains information about adding a build configuration and |
| 13 | buildslave to private slave builder to LLVM Buildbot Infrastructure |
| 14 | `<http://lab.llvm.org:8011>`_. |
| 15 | |
| 16 | |
| 17 | Steps To Add Builder To LLVM Buildbot |
| 18 | ===================================== |
| 19 | Volunteers can provide their build machines to work as build slaves to |
| 20 | public LLVM Buildbot. |
| 21 | |
| 22 | Here are the steps you can follow to do so: |
| 23 | |
| 24 | #. Check the existing build configurations to make sure the one you are |
| 25 | interested in is not covered yet or gets built on your computer much |
| 26 | faster than on the existing one. We prefer faster builds so developers |
| 27 | will get feedback sooner after changes get committed. |
| 28 | |
| 29 | #. The computer you will be registering with the LLVM buildbot |
| 30 | infrastructure should have all dependencies installed and you can |
| 31 | actually build your configuration successfully. Please check what degree |
| 32 | of parallelism (-j param) would give the fastest build. You can build |
| 33 | multiple configurations on one computer. |
| 34 | |
| 35 | #. Install buildslave (currently we are using buildbot version 0.8.5). |
| 36 | Depending on the platform, buildslave could be available to download and |
| 37 | install with your packet manager, or you can download it directly from |
| 38 | `<http://trac.buildbot.net>`_ and install it manually. |
| 39 | |
| 40 | #. Create a designated user account, your buildslave will be running under, |
| 41 | and set appropriate permissions. |
| 42 | |
| 43 | #. Choose the buildslave root directory (all builds will be placed under |
| 44 | it), buildslave access name and password the build master will be using |
| 45 | to authenticate your buildslave. |
| 46 | |
| 47 | #. Create a buildslave in context of that buildslave account. Point it to |
| 48 | the **lab.llvm.org** port **9990** (see `Buildbot documentation, |
| 49 | Creating a slave |
| 50 | <http://buildbot.net/buildbot/docs/current/full.html#creating-a-slave>`_ |
| 51 | for more details) by running the following command: |
| 52 | |
| 53 | .. code-block:: bash |
| 54 | |
| 55 | $ buildslave create-slave <buildslave-root-directory> \ |
| 56 | lab.llvm.org:9990 \ |
| 57 | <buildslave-access-name> <buildslave-access-password> |
| 58 | |
| 59 | #. Fill the buildslave description and admin name/e-mail. Here is an |
| 60 | example of the buildslave description:: |
| 61 | |
| 62 | Windows 7 x64 |
| 63 | Core i7 (2.66GHz), 16GB of RAM |
| 64 | |
| 65 | g++.exe (TDM-1 mingw32) 4.4.0 |
| 66 | GNU Binutils 2.19.1 |
| 67 | cmake version 2.8.4 |
| 68 | Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 |
| 69 | |
| 70 | #. Make sure you can actually start the buildslave successfully. Then set |
| 71 | up your buildslave to start automatically at the start up time. See the |
| 72 | buildbot documentation for help. You may want to restart your computer |
| 73 | to see if it works. |
| 74 | |
| 75 | #. Send a patch which adds your build slave and your builder to zorg. |
| 76 | |
| 77 | * slaves are added to ``buildbot/osuosl/master/config/slaves.py`` |
| 78 | * builders are added to ``buildbot/osuosl/master/config/builders.py`` |
| 79 | |
| 80 | #. Send the buildslave access name and the access password directly to |
| 81 | `Galina Kistanova <mailto:gkistanova@gmail.com>`_, and wait till she |
| 82 | will let you know that your changes are applied and buildmaster is |
| 83 | reconfigured. |
| 84 | |
| 85 | #. Check the status of your buildslave on the `Waterfall Display |
| 86 | <http://lab.llvm.org:8011/waterfall>`_ to make sure it is connected, and |
| 87 | ``http://lab.llvm.org:8011/buildslaves/<your-buildslave-name>`` to see |
| 88 | if administrator contact and slave information are correct. |
| 89 | |
| 90 | #. Wait for the first build to succeed and enjoy. |