comparison llvm/docs/HowToAddABuilder.rst @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 0572611fdcc8
children c4bab56944e8
comparison
equal deleted inserted replaced
173:0572611fdcc8 207:2e18cbf3894f
4 4
5 Introduction 5 Introduction
6 ============ 6 ============
7 7
8 This document contains information about adding a build configuration and 8 This document contains information about adding a build configuration and
9 buildslave to private slave builder to LLVM Buildbot Infrastructure. 9 buildbot-worker to private worker builder to LLVM Buildbot Infrastructure.
10 10
11 Buildmasters 11 Buildmasters
12 ============ 12 ============
13 13
14 There are two buildmasters running. 14 There are two buildmasters running.
20 Builders for experimental backends should generally be attached to this 20 Builders for experimental backends should generally be attached to this
21 buildmaster. 21 buildmaster.
22 22
23 Steps To Add Builder To LLVM Buildbot 23 Steps To Add Builder To LLVM Buildbot
24 ===================================== 24 =====================================
25 Volunteers can provide their build machines to work as build slaves to 25 Volunteers can provide their build machines to work as build workers to
26 public LLVM Buildbot. 26 public LLVM Buildbot.
27 27
28 Here are the steps you can follow to do so: 28 Here are the steps you can follow to do so:
29 29
30 #. Check the existing build configurations to make sure the one you are 30 #. Check the existing build configurations to make sure the one you are
36 infrastructure should have all dependencies installed and you can 36 infrastructure should have all dependencies installed and you can
37 actually build your configuration successfully. Please check what degree 37 actually build your configuration successfully. Please check what degree
38 of parallelism (-j param) would give the fastest build. You can build 38 of parallelism (-j param) would give the fastest build. You can build
39 multiple configurations on one computer. 39 multiple configurations on one computer.
40 40
41 #. Install buildslave (currently we are using buildbot version 0.8.5). 41 #. Install buildbot-worker (currently we are using buildbot version 2.8.5).
42 Depending on the platform, buildslave could be available to download and 42 Depending on the platform, buildbot-worker could be available to download and
43 install with your package manager, or you can download it directly from 43 install with your package manager, or you can download it directly from
44 `<http://trac.buildbot.net>`_ and install it manually. 44 `<http://trac.buildbot.net>`_ and install it manually.
45 45
46 #. Create a designated user account, your buildslave will be running under, 46 #. Create a designated user account, your buildbot-worker will be running under,
47 and set appropriate permissions. 47 and set appropriate permissions.
48 48
49 #. Choose the buildslave root directory (all builds will be placed under 49 #. Choose the buildbot-worker root directory (all builds will be placed under
50 it), buildslave access name and password the build master will be using 50 it), buildbot-worker access name and password the build master will be using
51 to authenticate your buildslave. 51 to authenticate your buildbot-worker.
52 52
53 #. Create a buildslave in context of that buildslave account. Point it to 53 #. Create a buildbot-worker in context of that buildbot-worker account. Point it
54 the **lab.llvm.org** port **9990** (see `Buildbot documentation, 54 to the **lab.llvm.org** port **9990** (see `Buildbot documentation,
55 Creating a slave 55 Creating a worker
56 <http://docs.buildbot.net/current/tutorial/firstrun.html#creating-a-slave>`_ 56 <http://docs.buildbot.net/current/tutorial/firstrun.html#creating-a-worker>`_
57 for more details) by running the following command: 57 for more details) by running the following command:
58 58
59 .. code-block:: bash 59 .. code-block:: bash
60 60
61 $ buildslave create-slave <buildslave-root-directory> \ 61 $ buildbot-worker create-worker <buildbot-worker-root-directory> \
62 lab.llvm.org:9990 \ 62 lab.llvm.org:9990 \
63 <buildslave-access-name> <buildslave-access-password> 63 <buildbot-worker-access-name> \
64 <buildbot-worker-access-password>
64 65
65 To point a slave to silent master please use lab.llvm.org:9994 instead 66 To point a worker to silent master please use lab.llvm.org:9994 instead
66 of lab.llvm.org:9990. 67 of lab.llvm.org:9990.
67 68
68 #. Fill the buildslave description and admin name/e-mail. Here is an 69 #. Fill the buildbot-worker description and admin name/e-mail. Here is an
69 example of the buildslave description:: 70 example of the buildbot-worker description::
70 71
71 Windows 7 x64 72 Windows 7 x64
72 Core i7 (2.66GHz), 16GB of RAM 73 Core i7 (2.66GHz), 16GB of RAM
73 74
74 g++.exe (TDM-1 mingw32) 4.4.0 75 g++.exe (TDM-1 mingw32) 4.4.0
75 GNU Binutils 2.19.1 76 GNU Binutils 2.19.1
76 cmake version 2.8.4 77 cmake version 2.8.4
77 Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86 78 Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
78 79
79 #. Make sure you can actually start the buildslave successfully. Then set 80 #. Make sure you can actually start the buildbot-worker successfully. Then set
80 up your buildslave to start automatically at the start up time. See the 81 up your buildbot-worker to start automatically at the start up time. See the
81 buildbot documentation for help. You may want to restart your computer 82 buildbot documentation for help. You may want to restart your computer
82 to see if it works. 83 to see if it works.
83 84
84 #. Send a patch which adds your build slave and your builder to 85 #. Send a patch which adds your build worker and your builder to
85 `zorg <https://github.com/llvm/llvm-zorg>`_. 86 `zorg <https://github.com/llvm/llvm-zorg>`_. Use the typical LLVM
87 `workflow <https://llvm.org/docs/Contributing.html#how-to-submit-a-patch>`_.
86 88
87 * slaves are added to ``buildbot/osuosl/master/config/slaves.py`` 89 * workers are added to ``buildbot/osuosl/master/config/workers.py``
88 * builders are added to ``buildbot/osuosl/master/config/builders.py`` 90 * builders are added to ``buildbot/osuosl/master/config/builders.py``
89 91
90 Please make sure your builder name and its builddir are unique through the 92 Please make sure your builder name and its builddir are unique through the
91 file. 93 file.
92 94
93 It is possible to whitelist email addresses to unconditionally receive 95 It is possible to allow email addresses to unconditionally receive
94 notifications on build failure; for this you'll need to add an 96 notifications on build failure; for this you'll need to add an
95 ``InformativeMailNotifier`` to ``buildbot/osuosl/master/config/status.py``. 97 ``InformativeMailNotifier`` to ``buildbot/osuosl/master/config/status.py``.
96 This is particularly useful for the staging buildmaster which is silent 98 This is particularly useful for the staging buildmaster which is silent
97 otherwise. 99 otherwise.
98 100
99 #. Send the buildslave access name and the access password directly to 101 #. Send the buildbot-worker access name and the access password directly to
100 `Galina Kistanova <mailto:gkistanova@gmail.com>`_, and wait till she 102 `Galina Kistanova <mailto:gkistanova@gmail.com>`_, and wait till she
101 will let you know that your changes are applied and buildmaster is 103 will let you know that your changes are applied and buildmaster is
102 reconfigured. 104 reconfigured.
103 105
104 #. Check the status of your buildslave on the `Waterfall Display 106 #. Check the status of your buildbot-worker on the `Waterfall Display
105 <http://lab.llvm.org:8011/waterfall>`_ to make sure it is connected, and 107 <http://lab.llvm.org:8011/#/waterfall>`_ to make sure it is connected, and
106 ``http://lab.llvm.org:8011/buildslaves/<your-buildslave-name>`` to see 108 ``http://lab.llvm.org:8011/#/workers`` to see if administrator contact and
107 if administrator contact and slave information are correct. 109 worker information are correct.
108 110
109 #. Wait for the first build to succeed and enjoy. 111 #. Wait for the first build to succeed and enjoy.