Mercurial > hg > CbC > CbC_llvm
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. |