OLD | NEW |
1 The builders.pyl File Format | 1 The builders.pyl File Format |
2 ============================ | 2 ============================ |
3 | 3 |
4 builders.pyl is a declarative definition of a buildbot master. It | 4 builders.pyl is a declarative definition of a buildbot master. It |
5 is intended to hide all of the buildbot-specific implementation | 5 is intended to hide all of the buildbot-specific implementation |
6 details from the user and just expose the features and settings a | 6 details from the user and just expose the features and settings a |
7 non-buildbot-guru cares about. | 7 non-buildbot-guru cares about. |
8 | 8 |
9 What is the .pyl format? | 9 What is the .pyl format? |
10 ------------------------ | 10 ------------------------ |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 "builders": { | 51 "builders": { |
52 "Chromium Mojo Linux": { | 52 "Chromium Mojo Linux": { |
53 "recipe": "chromium_mojo", | 53 "recipe": "chromium_mojo", |
54 "slave_pools": ["linux_precise"], | 54 "slave_pools": ["linux_precise"], |
55 }, | 55 }, |
56 }, | 56 }, |
57 "git_repo_url": "https://chromium.googlesource.com/chromium/src.git", | 57 "git_repo_url": "https://chromium.googlesource.com/chromium/src.git", |
58 "master_base_class": "Master1", | 58 "master_base_class": "Master1", |
59 "master_port": 20100, | 59 "master_port": 20100, |
60 "master_port_alt": 40100, | 60 "master_port_alt": 40100, |
61 "master_type": "waterfall", | |
62 "slave_pools": { | 61 "slave_pools": { |
63 "linux_precise": { | 62 "linux_precise": { |
64 "slave_data": { | 63 "slave_data": { |
65 "bits": 64, | 64 "bits": 64, |
66 "os": "linux", | 65 "os": "linux", |
67 "version": "precise", | 66 "version": "precise", |
68 }, | 67 }, |
69 "slaves": ["vm46-m1"], | 68 "slaves": ["vm46-m1"], |
70 }, | 69 }, |
71 }, | 70 }, |
72 "slave_port": 30100, | 71 "slave_port": 30100, |
73 } | 72 } |
74 % | 73 % |
75 | 74 |
76 Top-level keys | 75 Top-level keys |
77 -------------- | 76 -------------- |
78 | 77 |
79 At the top-level, builders.pyl files contain a single Python dictionary | 78 At the top-level, builders.pyl files contain a single Python dictionary |
80 containing things that are configured per-master. | 79 containing things that are configured per-master. |
81 | 80 |
82 builders | 81 builders |
83 This key is *required* and contains a dict of builder names and their | 82 This key is *required* and contains a dict of builder names and their |
84 respective configurations; those configurations are described in | 83 respective configurations; those configurations are described in |
85 the per-builder keys section, below. | 84 the per-builder keys section, below. |
86 | 85 |
87 master_type | 86 buildbucket_bucket |
88 This key is *required* and must contain one of two values: "waterfall" | 87 This key is *optional* but must be present if the builders on the |
89 or "tryserver". A waterfall buildbot typically polls a single | 88 master are intended to be scheduled through buildbucket (i.e., they |
90 source repository looking for changes, and runs builds on every change. | 89 are tryservers or triggered from other builders, possibly on other masters). |
91 A tryserver buildbot typically polls a code review tool looking | |
92 for new (unlanded) changes to test. | |
93 | 90 |
94 If the value is "waterfall", the top-level dict must set the "git_repo_url" | 91 If set, it should contain the string value of the `buildbucket bucket`_ |
95 key. | 92 created for this buildbot. If it is not set, it defaults to `None`. |
96 | 93 By convention, buckets are named to match the master name, e.g. |
97 If the value is "tryserver", the top-level dict must set the | 94 "master.tryserver.nacl". |
98 "buildbucket_bucket" and "service_account_file" keys. | |
99 | |
100 buildbucket_bucket | |
101 This key is *required* if the master_type key is set to "tryserver", and | |
102 must not be present otherwise. | |
103 | |
104 It should contain the string value of the `buildbucket bucket`_ created | |
105 for this buildbot. | |
106 | 95 |
107 git_repo_url | 96 git_repo_url |
108 This key is *required* if the master_type key has the value "waterfall", | 97 This key is *optional*. If it is not set, the builders on the waterfall |
109 and must not be present otherwise. | 98 will only be triggerable by buildbucket (or directly). |
110 | 99 |
111 It should contain a string value that is the URL for a repo | 100 It should contain a string value that is the URL for a repo to be cloned and |
112 to be cloned and polled for changes. | 101 polled for changes. |
113 | 102 |
114 master_base_class | 103 master_base_class |
115 This key is *required*. It should specify the name of the Python | 104 This key is *required*. It should specify the name of the Python |
116 class of the buildbot master that this master is based on. This is | 105 class of the buildbot master that this master is based on. This is |
117 usually one of the classes defined in build/site_config/config_bootstrap.py. | 106 usually one of the classes defined in build/site_config/config_bootstrap.py. |
118 | 107 |
119 For example, if you were setting up a new master in the -m1 VLAN, you would be | 108 For example, if you were setting up a new master in the -m1 VLAN, you would |
120 subclassing Master.Master1, so this value would be 'Master1'. | 109 be subclassing Master.Master1, so this value would be 'Master1'. |
121 | 110 |
122 master_port | 111 master_port |
123 This key is *required*. It is the main IP port that the buildbot | 112 This key is *required*. It is the main IP port that the buildbot |
124 master instance runs on. You should set this to the port obtained | 113 master instance runs on. You should set this to the port obtained |
125 from the admins. | 114 from the admins. |
126 | 115 |
127 master_port_alt | 116 master_port_alt |
128 This key is *required*. It is the alternate IP port that the buildbot | 117 This key is *required*. It is the alternate IP port that the buildbot |
129 master instance runs on. You should set this to the port obtained | 118 master instance runs on. You should set this to the port obtained |
130 from the admins. | 119 from the admins. |
131 | 120 |
132 service_account_file | 121 service_account_file |
133 This key is *required* if the master_type key has the value "tryserver", | 122 This key is *optional* but must be present if the builders on the |
134 and must not be present otherwise. | 123 master are intended to be scheduled through buildbucket (i.e., they |
| 124 are tryservers or triggered from other bots). |
135 | 125 |
136 It should point to a file under "/creds/service_accounts" on the slave | 126 If set, it should point to the filename in the credentials directory on the |
137 machine, and contain the `OAuth service account info`_ | 127 slave machine (i.e., just the basename + extension, no directory part), that |
138 the slave will use to connect to buildbucket. | 128 contains the `OAuth service account info`_ the slave will use to connect to |
| 129 buildbucket. By convention, the value is "service-account-<project>.json". |
| 130 If not set, it defaults to `None`. |
139 | 131 |
140 slave_pools | 132 slave_pools |
141 This key is *required* and must contain a dict of pool names and | 133 This key is *required* and must contain a dict of pool names and |
142 properties, as described below. | 134 properties, as described below. |
143 | 135 |
144 slave_port | 136 slave_port |
145 This key is *required*. It is the port that the buildbot slaves will | 137 This key is *required*. It is the port that the buildbot slaves will |
146 attempt to connect to on the master. | 138 attempt to connect to on the master. |
147 | 139 |
148 | 140 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 If os is "mac": "10.6", "10.7", "10.8", "10.9", "10.10". | 190 If os is "mac": "10.6", "10.7", "10.8", "10.9", "10.10". |
199 | 191 |
200 If os is "linux": "precise" or "trusty". | 192 If os is "linux": "precise" or "trusty". |
201 | 193 |
202 If os is "win": "xp", "vista", "win7", "win8", "2008" | 194 If os is "win": "xp", "vista", "win7", "win8", "2008" |
203 | 195 |
204 .. _`buildbucket bucket`: https://cr-buildbucket.appspot.com | 196 .. _`buildbucket bucket`: https://cr-buildbucket.appspot.com |
205 .. _`OAuth service account info`: ../master_auth.html | 197 .. _`OAuth service account info`: ../master_auth.html |
206 .. _`recipe`: recipes.html | 198 .. _`recipe`: recipes.html |
207 .. _`recipe name`: recipes.html | 199 .. _`recipe name`: recipes.html |
OLD | NEW |