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 |