Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # -*- python -*- | 1 # -*- python -*- |
| 2 # ex: set syntax=python: | 2 # ex: set syntax=python: |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # READ THIS: | 7 # READ THIS: |
| 8 # See http://dev.chromium.org/developers/testing/chromium-build-infrastructure | 8 # See http://dev.chromium.org/developers/testing/chromium-build-infrastructure |
| 9 | 9 |
| 10 import os | 10 import os |
| 11 import socket | 11 import socket |
| 12 | 12 |
| 13 from buildbot.scheduler import Triggerable | 13 from buildbot.scheduler import Triggerable |
| 14 | 14 |
| 15 # These modules come from scripts, which must be in the PYTHONPATH. | 15 # These modules come from scripts, which must be in the PYTHONPATH. |
| 16 from master import master_utils | 16 from master import master_utils |
| 17 from master import slaves_list | 17 from master import slaves_list |
| 18 from master.builders_pools import BuildersPools | 18 from master.builders_pools import BuildersPools |
| 19 from master.factory import annotator_factory | 19 from master.factory import annotator_factory |
| 20 from master.factory import remote_run_factory | |
| 20 from master.try_job_http import TryJobHTTP | 21 from master.try_job_http import TryJobHTTP |
| 21 from master.try_job_svn import TryJobSubversion | 22 from master.try_job_svn import TryJobSubversion |
| 22 | 23 |
| 23 import config | 24 import config |
| 24 import master_site_config | 25 import master_site_config |
| 25 | 26 |
| 26 ActiveMaster = master_site_config.TryServerChromiumLinux | 27 ActiveMaster = master_site_config.TryServerChromiumLinux |
| 27 | 28 |
| 28 | 29 |
| 29 MAIL_NOTIFIER = ActiveMaster.is_production_host | 30 MAIL_NOTIFIER = ActiveMaster.is_production_host |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 58 '$recipe_engine': {'mode_flags': {'use_subprocess42': True}} | 59 '$recipe_engine': {'mode_flags': {'use_subprocess42': True}} |
| 59 }) | 60 }) |
| 60 | 61 |
| 61 # Disable "max time without output" timeout if total build timeout | 62 # Disable "max time without output" timeout if total build timeout |
| 62 # is in effect. | 63 # is in effect. |
| 63 if 'max_time' in kwargs and 'timeout' not in kwargs: | 64 if 'max_time' in kwargs and 'timeout' not in kwargs: |
| 64 kwargs['timeout'] = None | 65 kwargs['timeout'] = None |
| 65 | 66 |
| 66 return m_annotator.BaseFactory(recipe, factory_properties=fp, **kwargs) | 67 return m_annotator.BaseFactory(recipe, factory_properties=fp, **kwargs) |
| 67 | 68 |
| 69 | |
| 70 def m_remote_run(recipe, **kwargs): | |
| 71 # Disable "max time without output" timeout if total build timeout | |
| 72 # is in effect. | |
| 73 if 'max_time' in kwargs and 'timeout' not in kwargs: | |
| 74 kwargs['timeout'] = None | |
| 75 return remote_run_factory.RemoteRunFactory( | |
| 76 active_master=ActiveMaster, | |
| 77 repository='https://chromium.googlesource.com/chromium/tools/build.git', | |
| 78 recipe=recipe, | |
| 79 factory_properties={'path_config': 'kitchen'}, | |
| 80 **kwargs) | |
| 81 | |
| 82 | |
| 68 for targ in ('_rel', '_dbg'): | 83 for targ in ('_rel', '_dbg'): |
| 69 chromium_builders.extend([{ | 84 chromium_builders.extend([{ |
| 70 'name': 'linux_chromium_compile%s_ng' % targ, | 85 'name': 'linux_chromium_compile%s_ng' % targ, |
| 71 'factory': baseFactory('chromium_trybot', timeout=3600), | 86 'factory': m_remote_run('chromium_trybot', timeout=3600), |
| 72 # Share build directory with compatible existing builders to save space. | 87 'slavebuilddir': 'remote_run' |
| 73 'slavebuilddir': 'linux' | |
| 74 }, { | 88 }, { |
| 75 'name': 'linux_chromium%s_ng' % targ, | 89 'name': 'linux_chromium%s_ng' % targ, |
| 76 'factory': baseFactory( | 90 'factory': m_remote_run( |
| 77 'chromium_trybot', timeout=3600, max_time=master_utils.CQ_MAX_TIME), | 91 'chromium_trybot', timeout=3600, max_time=master_utils.CQ_MAX_TIME), |
| 78 # Share build directory with compatible existing builders to save space. | 92 'slavebuilddir': 'remote_run' |
| 79 'slavebuilddir': 'linux' | |
| 80 }, { | 93 }, { |
| 81 'name': 'linux_chromium_chromeos%s_ng' % targ, | 94 'name': 'linux_chromium_chromeos%s_ng' % targ, |
| 82 'factory': baseFactory( | 95 'factory': m_remote_run( |
| 83 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 96 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 84 # Share build directory with compatible existing builders to save space. | 97 'slavebuilddir': 'remote_run' |
| 85 'slavebuilddir': 'linux_chromeos' | |
| 86 }, { | 98 }, { |
| 87 'name': 'linux_chromium_chromeos_compile%s_ng' % targ, | 99 'name': 'linux_chromium_chromeos_compile%s_ng' % targ, |
| 88 'factory': baseFactory( | 100 'factory': m_remote_run( |
| 89 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 101 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 90 # Share build directory with compatible existing builders to save space. | 102 'slavebuilddir': 'remote_run' |
| 91 'slavebuilddir': 'linux_chromeos' | |
| 92 }, { | 103 }, { |
| 93 'name': 'linux_chromium_gn_chromeos%s' % targ, | 104 'name': 'linux_chromium_gn_chromeos%s' % targ, |
| 94 'factory': baseFactory( | 105 'factory': m_remote_run( |
| 95 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 106 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 96 'slavebuilddir': 'linux_chromium_gn_chromeos' | 107 'slavebuilddir': 'remote_run' |
| 97 }]) | 108 }]) |
| 98 | 109 |
| 99 chromium_builders.append({ | 110 chromium_builders.append({ |
| 100 'name': 'linux_chromium_chromeos_asan_rel_ng', | 111 'name': 'linux_chromium_chromeos_asan_rel_ng', |
| 101 'factory': baseFactory('chromium_trybot'), | 112 'factory': m_remote_run('chromium_trybot'), |
| 102 # Share build directory with compatible existing builders to save space. | 113 'slavebuilddir': 'remote_run', |
| 103 'slavebuilddir': 'linux_chromeos_asan', | |
| 104 }) | 114 }) |
| 105 | 115 |
| 106 chromium_builders.append({ | 116 chromium_builders.append({ |
| 107 'name': 'linux_chromium_chromeos_ozone_rel_ng', | 117 'name': 'linux_chromium_chromeos_ozone_rel_ng', |
| 108 'factory': baseFactory( | 118 'factory': m_remote_run( |
| 109 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 119 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 110 # Share build directory with compatible existing builders to save space. | 120 'slavebuilddir': 'remote_run' |
| 111 'slavebuilddir': 'linux_chromeos' | |
| 112 }) | 121 }) |
| 113 | 122 |
| 114 for board in chromeos_boards: | 123 for board in chromeos_boards: |
| 115 chromium_builders.append({ | 124 chromium_builders.append({ |
| 116 'name': 'chromeos_%s_chromium_compile_only_ng' % (board,), | 125 'name': 'chromeos_%s_chromium_compile_only_ng' % (board,), |
| 117 'factory': baseFactory( | 126 'factory': m_remote_run( |
| 118 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 127 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 119 # Share build directory with compatible existing builders to save space. | 128 'slavebuilddir': 'remote_run', |
| 120 'slavebuilddir': 'chromeos_%s' % (board,), | |
| 121 }) | 129 }) |
| 122 | 130 |
| 123 chromium_builders.append({ | 131 chromium_builders.append({ |
| 124 'name': 'linux_chromium_msan_rel_ng', | 132 'name': 'linux_chromium_msan_rel_ng', |
| 125 'factory': baseFactory('chromium_trybot'), | 133 'factory': m_remote_run('chromium_trybot'), |
| 126 'slavebuilddir': 'linux_msan', | 134 'slavebuilddir': 'remote_run', |
| 127 }) | 135 }) |
| 128 | 136 |
| 129 chromium_builders.append({ | 137 chromium_builders.append({ |
| 130 'name': 'linux_chromium_chromeos_msan_rel_ng', | 138 'name': 'linux_chromium_chromeos_msan_rel_ng', |
| 131 'factory': baseFactory('chromium_trybot'), | 139 'factory': m_remote_run('chromium_trybot'), |
| 132 'slavebuilddir': 'linux_chromeos_msan', | 140 'slavebuilddir': 'remote_run', |
| 133 }) | 141 }) |
| 134 | 142 |
| 135 chromium_builders.append({ | 143 chromium_builders.append({ |
| 136 'name': 'linux_chromium_tsan_rel_ng', | 144 'name': 'linux_chromium_tsan_rel_ng', |
| 137 'factory': baseFactory('chromium_trybot'), | 145 'factory': m_remote_run('chromium_trybot'), |
| 138 'slavebuilddir': 'linux_tsan', | 146 'slavebuilddir': 'remote_run', |
| 139 }) | 147 }) |
| 140 | 148 |
| 141 chromium_builders.append({ | 149 chromium_builders.append({ |
| 142 'name': 'linux_chromium_cfi_rel_ng', | 150 'name': 'linux_chromium_cfi_rel_ng', |
| 143 'factory': baseFactory('chromium_trybot', | 151 'factory': m_remote_run('chromium_trybot', timeout=12000), |
| 144 timeout=12000), | 152 'slavebuilddir': 'remote_run', |
| 145 'slavebuilddir': 'linux_cfi', | |
| 146 }) | 153 }) |
| 147 | 154 |
| 148 chromium_builders.extend([{ | 155 chromium_builders.extend([{ |
| 149 'name': 'linux_arm', | 156 'name': 'linux_arm', |
| 150 'factory': baseFactory('chromium_trybot'), | 157 'factory': m_remote_run('chromium_trybot'), |
| 151 'slavebuilddir': 'linux_arm', | 158 'slavebuilddir': 'remote_run', |
| 152 }, | 159 }, |
| 153 ]) | 160 ]) |
| 154 | 161 |
| 155 chromium_builders.append({ | 162 chromium_builders.append({ |
| 156 'name': 'linux_chromium_compile_dbg_32_ng', | 163 'name': 'linux_chromium_compile_dbg_32_ng', |
| 157 'factory': baseFactory( | 164 'factory': m_remote_run( |
| 158 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 165 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 159 # Share build directory with compatible existing builders to save space. | 166 'slavebuilddir': 'remote_run' |
| 160 'slavebuilddir': 'linux' | |
| 161 }) | 167 }) |
| 162 | 168 |
| 163 chromium_builders.append({ | 169 chromium_builders.append({ |
| 164 'name': 'linux_chromium_dbg_32_ng', | 170 'name': 'linux_chromium_dbg_32_ng', |
| 165 'factory': baseFactory('chromium_trybot'), | 171 'factory': m_remote_run('chromium_trybot'), |
| 166 # Share build directory with compatible existing builders to save space. | 172 'slavebuilddir': 'remote_run' |
| 167 'slavebuilddir': 'linux' | |
| 168 }) | 173 }) |
| 169 | 174 |
| 170 chromium_builders.append({ | 175 chromium_builders.append({ |
| 171 'name': 'linux_chromium_archive_rel_ng', | 176 'name': 'linux_chromium_archive_rel_ng', |
| 172 'factory': baseFactory( | 177 'factory': m_remote_run( |
| 173 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 178 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 174 # Share build directory with compatible existing builders to save space. | 179 'slavebuilddir': 'remote_run' |
| 175 # Do not clobber build directories of incremental builders though, | |
| 176 # to keep them fast. | |
|
tandrii(chromium)
2016/07/20 10:48:18
what about this comment? is still applicable?
Paweł Hajdan Jr.
2016/07/20 10:53:59
It is. But it's handled entirely recipe side - see
| |
| 177 'slavebuilddir': 'linux_clobber' | |
| 178 }) | 180 }) |
| 179 | 181 |
| 180 chromium_builders.append({ | 182 chromium_builders.append({ |
| 181 'name': 'linux_chromium_clobber_rel_ng', | 183 'name': 'linux_chromium_clobber_rel_ng', |
| 182 'factory': baseFactory( | 184 'factory': m_remote_run( |
| 183 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 185 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 184 # Share build directory with compatible existing builders to save space. | 186 'slavebuilddir': 'remote_run' |
| 185 # Do not clobber build directories of incremental builders though, | |
| 186 # to keep them fast. | |
|
tandrii(chromium)
2016/07/20 10:48:18
ditto
| |
| 187 'slavebuilddir': 'linux_clobber' | |
| 188 }) | 187 }) |
| 189 | 188 |
| 190 # This bot builds and upload GN binaries to cloud storage. | 189 # This bot builds and upload GN binaries to cloud storage. |
| 191 # We do not reuse the 'linux_chromium_gn' slavebuilddir because the upload | 190 # We do not reuse the 'linux_chromium_gn' slavebuilddir because the upload |
| 192 # bots need the linux sysroots and hence require src-internal. | 191 # bots need the linux sysroots and hence require src-internal. |
| 193 chromium_builders.append({ | 192 chromium_builders.append({ |
| 194 'name': 'linux_chromium_gn_upload', | 193 'name': 'linux_chromium_gn_upload', |
| 195 'factory': baseFactory('chromium_gn_upload'), | 194 'factory': baseFactory('chromium_gn_upload'), |
| 196 'slavebuilddir': 'build_and_upload_gn', | 195 'slavebuilddir': 'build_and_upload_gn', |
| 197 }) | 196 }) |
| 198 | 197 |
| 199 chromium_builders.append({ | 198 chromium_builders.append({ |
| 200 'name': 'linux_upload_clang', | 199 'name': 'linux_upload_clang', |
| 201 'factory': baseFactory('chromium_upload_clang'), | 200 'factory': baseFactory('chromium_upload_clang'), |
| 202 'slavebuilddir': 'linux_upload_clang', | 201 'slavebuilddir': 'linux_upload_clang', |
| 203 }) | 202 }) |
| 204 | 203 |
| 205 # Chromecast builders using chromium_trybot | 204 # Chromecast builders using chromium_trybot |
| 206 chromium_builders.extend([{ | 205 chromium_builders.extend([{ |
| 207 'name': 'cast_shell_linux', | 206 'name': 'cast_shell_linux', |
| 208 'factory': baseFactory( | 207 'factory': m_remote_run( |
| 209 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 208 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 210 }, | 209 }, |
| 211 ]) | 210 ]) |
| 212 | 211 |
| 213 chromium_builders.extend([{ | 212 chromium_builders.extend([{ |
| 214 'name': 'blimp_linux_dbg', | 213 'name': 'blimp_linux_dbg', |
| 215 'factory': baseFactory( | 214 'factory': m_remote_run( |
| 216 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 215 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 217 'slavebuilddir': 'linux_blimp', | 216 'slavebuilddir': 'remote_run', |
| 218 }, | 217 }, |
| 219 ]) | 218 ]) |
| 220 | 219 |
| 221 b_linux_site_isolation = { | 220 b_linux_site_isolation = { |
| 222 'name': 'linux_site_isolation', | 221 'name': 'linux_site_isolation', |
| 223 'factory': baseFactory('chromium_trybot'), | 222 'factory': m_remote_run('chromium_trybot'), |
| 224 # Share build directory with compatible existing builders to save space. | 223 'slavebuilddir': 'remote_run', |
| 225 'slavebuilddir': 'linux', | |
| 226 } | 224 } |
| 227 | 225 |
| 228 b_linux_chromium_asan_rel_ng = { | 226 b_linux_chromium_asan_rel_ng = { |
| 229 'name': 'linux_chromium_asan_rel_ng', | 227 'name': 'linux_chromium_asan_rel_ng', |
| 230 'factory': baseFactory( | 228 'factory': m_remote_run( |
| 231 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), | 229 'chromium_trybot', max_time=master_utils.CQ_MAX_TIME), |
| 232 # Share build directory with compatible existing builders to save space. | 230 'slavebuilddir': 'remote_run', |
| 233 'slavebuilddir': 'linux_asan', | |
| 234 } | 231 } |
| 235 | 232 |
| 236 # Optional GPU tryserver | 233 # Optional GPU tryserver |
| 237 chromium_builders.append({ | 234 chromium_builders.append({ |
| 238 'name': 'linux_optional_gpu_tests_rel', | 235 'name': 'linux_optional_gpu_tests_rel', |
| 239 'factory': baseFactory('chromium_trybot', timeout=3600), | 236 'factory': m_remote_run('chromium_trybot', timeout=3600), |
| 240 # Share build directory with compatible existing builders to save space. | 237 'slavebuilddir': 'remote_run' |
| 241 'slavebuilddir': 'linux' | |
| 242 }) | 238 }) |
| 243 | 239 |
| 244 # Optional browser-side navigation trybot | 240 # Optional browser-side navigation trybot |
| 245 b_linux_chromium_browser_side_navigation_rel = { | 241 b_linux_chromium_browser_side_navigation_rel = { |
| 246 'name': 'linux_chromium_browser_side_navigation_rel', | 242 'name': 'linux_chromium_browser_side_navigation_rel', |
| 247 'factory': baseFactory('chromium_trybot', timeout=3600), | 243 'factory': m_remote_run('chromium_trybot', timeout=3600), |
| 248 # Share build directory with compatible existing builders to save space. | 244 'slavebuilddir': 'remote_run' |
| 249 'slavebuilddir': 'linux' | |
| 250 } | 245 } |
| 251 | 246 |
| 252 # NaCl SDK try bots | 247 # NaCl SDK try bots |
| 253 b_linux_nacl_sdk = { | 248 b_linux_nacl_sdk = { |
| 254 'name': 'linux_nacl_sdk', | 249 'name': 'linux_nacl_sdk', |
| 255 'factory': baseFactory('nacl/sdk'), | 250 'factory': baseFactory('nacl/sdk'), |
| 256 } | 251 } |
| 257 | 252 |
| 258 # NaCl SDK build-only try bots | 253 # NaCl SDK build-only try bots |
| 259 b_linux_nacl_sdk_build = { | 254 b_linux_nacl_sdk_build = { |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 531 # base.make_stop_form = hack_stop(base.make_stop_form) | 526 # base.make_stop_form = hack_stop(base.make_stop_form) |
| 532 | 527 |
| 533 | 528 |
| 534 ####### PROJECT IDENTITY | 529 ####### PROJECT IDENTITY |
| 535 | 530 |
| 536 # The 'projectURL' string will be used to provide a link | 531 # The 'projectURL' string will be used to provide a link |
| 537 # from buildbot HTML pages to your project's home page. | 532 # from buildbot HTML pages to your project's home page. |
| 538 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' | 533 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' |
| 539 | 534 |
| 540 # vi: set ts=4 sts=2 sw=2 et: | 535 # vi: set ts=4 sts=2 sw=2 et: |
| OLD | NEW |