| OLD | NEW |
| 1 # -*- python -*- | 1 # -*- python -*- |
| 2 # ex: set syntax=python: | 2 # ex: set syntax=python: |
| 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 |
| 4 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 6 # found in the LICENSE file. |
| 6 | 7 |
| 7 # See master.experimental/slaves.cfg for documentation. | 8 # See master.experimental/slaves.cfg for documentation. |
| 8 | 9 |
| 9 | 10 |
| 10 def linux(): | 11 slaves = [ |
| 11 """Linux VMs can hold a maximum of 4 checkouts per slave.""" | 12 { |
| 12 | 13 'master': 'ChromiumOSTryServer', |
| 13 normal_slaves = sorted( | 14 'builder': 'x86 generic PFQ', |
| 14 range(60, 68) + range(121, 166) + [46, 57, 79, 86, 104, 113]) | 15 'slavename': 'build-99-m4', |
| 15 touch_slave = 112 | 16 'os': 'linux', |
| 16 | 17 }, |
| 17 # Configurations on every VM. | 18 # { |
| 18 base = [ | 19 # 'master': 'ChromiumOS', |
| 19 # One line per shared directory. In decreasing usage: | 20 # 'builder': 'refresh packages', |
| 20 'linux', 'linux_rel', 'linux_sync', | 21 # 'hostname': 'vm5-m2', |
| 21 'linux_clang', | 22 # 'os': 'linux', |
| 22 'linux_chromeos', | 23 # }, |
| 23 ] | 24 # { |
| 24 # One of the extra configuration per VM. | 25 # 'master': 'ChromiumOS', |
| 25 extras = [ | 26 # 'builder': 'x86 generic ASAN', |
| 26 # First the ones barely used. | 27 # 'hostname': 'build8-m2', |
| 27 [['linux_chromeos_valgrind'], 2], | 28 # 'os': 'linux', |
| 28 [['linux_coverage'], 2], | 29 # }, |
| 29 [['linux_valgrind', 'linux_tsan'], 5], | 30 ] |
| 30 [['linux_shared'], 5], | |
| 31 [['linux_chromeos_clang'], 8], | |
| 32 [['linux_layout', 'linux_layout_rel'], 18], | |
| 33 [['linux_aura'], 2], | |
| 34 [['linux_asan'], 3], | |
| 35 # The remaining ones. len(normal_slaves) == 59, so it has | |
| 36 # 59-2-2-5-5-8-18-2-3 = 14. | |
| 37 [['linux_view'], len(normal_slaves)], | |
| 38 ] | |
| 39 extras_expanded = [] | |
| 40 for item in extras: | |
| 41 extras_expanded.extend([item[0]] * item[1]) | |
| 42 result = [ | |
| 43 { | |
| 44 'master': 'TryServer', | |
| 45 'os': 'linux', | |
| 46 'version': 'lucid', | |
| 47 'bits': '64', | |
| 48 'builder': base + extras_expanded[index], | |
| 49 'hostname': 'vm%d-m4' % i, | |
| 50 } for index, i in enumerate(normal_slaves) | |
| 51 ] | |
| 52 | |
| 53 # One-off linux_touch slave. It requires a specific version of GTK. | |
| 54 # TODO(maruel): Install a second GTK to build against so we can pool it with | |
| 55 # the other slaves. | |
| 56 result.append( | |
| 57 { | |
| 58 'master': 'TryServer', | |
| 59 'builder': 'linux_touch', | |
| 60 'hostname': 'vm%d-m4' % touch_slave, | |
| 61 'os': 'linux', | |
| 62 'version': 'lucid', | |
| 63 'bits': '64', | |
| 64 }) | |
| 65 return result | |
| 66 | |
| 67 | |
| 68 def mac(): | |
| 69 return [ | |
| 70 { | |
| 71 'master': 'TryServer', | |
| 72 'builder': [ | |
| 73 # One line per shared directory: | |
| 74 'mac', 'mac_rel', 'mac_sync', | |
| 75 'mac_layout', 'mac_layout_rel', | |
| 76 'mac_valgrind', | |
| 77 'mac_clang_no_goma', | |
| 78 ], | |
| 79 'hostname': 'mini%d-m4' % i, | |
| 80 'os': 'mac', | |
| 81 'version': '10.6', | |
| 82 'bits': '64', | |
| 83 } for i in sorted( | |
| 84 range(1, 26) + [29] + range(32, 46) + range(102, 112)) | |
| 85 ] | |
| 86 | |
| 87 | |
| 88 def windows(): | |
| 89 slaves = sorted( | |
| 90 range(1, 36) + range(68, 71) + range(80, 85) + [41, 42] + range(47, 55)) | |
| 91 extras = [ | |
| 92 ['win_shared'], | |
| 93 ['win_aura'], | |
| 94 ] | |
| 95 normal_slaves = [ | |
| 96 { | |
| 97 'master': 'TryServer', | |
| 98 'builder': [ | |
| 99 'win', 'win_rel', 'win_sync', | |
| 100 ] + extras[index % len(extras)], | |
| 101 'hostname': 'vm%d-m4' % number, | |
| 102 'os': 'win', | |
| 103 'version': 'vista', | |
| 104 'bits': '64', | |
| 105 } for index, number in enumerate(slaves) | |
| 106 ] | |
| 107 layout_slaves = [ | |
| 108 # TODO(maruel): Move these to Vista or 7? | |
| 109 { | |
| 110 'master': 'TryServer', | |
| 111 'builder': ['win_layout', 'win_layout_rel'], | |
| 112 'hostname': 'vm%d-m4' % i, | |
| 113 'os': 'win', | |
| 114 'version': 'xp', | |
| 115 'bits': '32', | |
| 116 } for i in xrange(71, 76) | |
| 117 ] | |
| 118 return normal_slaves + layout_slaves | |
| 119 | |
| 120 | |
| 121 def arm(): | |
| 122 # TODO(maruel): Add them back to the linux pool. | |
| 123 return [ | |
| 124 { | |
| 125 'master': 'TryServer', | |
| 126 'builder': 'linux_chromeos_arm', | |
| 127 'hostname': 'vm%d-m4' % i, | |
| 128 'os': 'linux', | |
| 129 'version': 'lucid', | |
| 130 'bits': '64', | |
| 131 } for i in (118, 119) | |
| 132 ] | |
| 133 | |
| 134 def cros(): | |
| 135 return [ | |
| 136 # vms that are set up with chromiumOS depends | |
| 137 { | |
| 138 'master': 'TryServer', | |
| 139 'builder': ['cros_arm', 'cros_tegra2'], | |
| 140 'hostname': 'vm%d-m4' % i, | |
| 141 'os': 'linux', | |
| 142 'version': 'lucid', | |
| 143 'bits': '64', | |
| 144 } for i in (55, 56, 166, 167, 168, 169, 170, 171, 172, 173) | |
| 145 ] + [ | |
| 146 # baremetal builders that are set up with chromiumOS depends | |
| 147 { | |
| 148 'master': 'TryServer', | |
| 149 'builder': 'cros_x86', | |
| 150 'hostname': 'build%d-m4' % i, | |
| 151 'os': 'linux', | |
| 152 'version': 'lucid', | |
| 153 'bits': '64', | |
| 154 } for i in (1, 2, 4, 5, 6) | |
| 155 ] | |
| 156 | |
| 157 | |
| 158 slaves = linux() + mac() + windows() + arm() + cros() | |
| OLD | NEW |