| 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 |