| # -*- python -*- |
| # ex: set syntax=python: |
| |
| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # See master.experimental/slaves.cfg for documentation. |
| |
| slaves = [ |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-linux-debug-checked-host-checked'], |
| 'hostname': 'slave128-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-linux-debug-host-checked'], |
| 'hostname': 'slave100-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-linux-debug-checked', |
| 'dart2js-chrome-linux', |
| 'dart2js-linux-debug', |
| 'dart2js-linux-chromeff'], |
| 'hostname': 'slave130-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| # This machine has specialized setup - please don't move the slave without |
| # pinging ricow@ |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-linux-release-host-checked', |
| 'dart2js-linux-release-checked-host-checked'], |
| 'hostname': 'slave99-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-full-windows-1-6'], |
| 'hostname': 'vm77-m3', |
| 'os': 'win', |
| 'version': 'win7', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-chromeOnAndroid-linux'], |
| 'hostname': 'slave127-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['vm-android-linux', |
| 'v8-linux-release', |
| 'dart2js-linux-release', |
| 'dart2js-linux-release-checked-host-checked-x64', |
| 'dartium-lucid64-debug-dev',], |
| 'hostname': 'slave131-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['v8-mac-release'], |
| 'hostname': 'vm607-m3', |
| 'os': 'mac', |
| 'version': '10.7', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['v8-win-release'], |
| 'hostname': 'vm210-m3', |
| 'os': 'win', |
| 'version': 'win7', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['pkg-win', 'pub-win'], |
| 'hostname': 'vm167-m3', |
| 'os': 'win', |
| 'version': 'win10', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart2js-mac10.11-safarimobilesim', |
| 'dart2js-mac10.11-safari'], |
| 'hostname': 'vm669-m3', |
| 'os': 'mac', |
| 'version': '10.11.4', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dartium-mac-debug'], |
| 'hostname': 'vm608-m3', |
| 'os': 'mac', |
| 'version': '10.7', |
| 'bits': '64' |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dartium-lucid64-debug-be'], |
| 'hostname': 'slave101-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dartium-lucid64-debug-stable', |
| 'dartium-lucid64-debug-integration'], |
| 'hostname': 'slave129-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dartium-win-debug-be', |
| 'dartium-win-debug-stable', |
| 'dart2js-win7-ie10chrome'], |
| 'hostname': 'vm112-m3', |
| 'os': 'win', |
| 'version': 'win7', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dartium-win-debug-integration', |
| 'dartium-win-debug-dev'], |
| 'hostname': 'vm192-m3', |
| 'os': 'win', |
| 'version': 'win7', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['dart-recipe'], |
| 'hostname': 'slave37-c3', |
| 'os': 'linux', |
| 'version': 'precise', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['cross-mips-board-linux-release'], |
| 'hostname': 'slave123-c3', |
| 'os': 'linux', |
| 'version': 'trusty', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['cross-mips-box-linux-release'], |
| 'hostname': 'slave124-c3', |
| 'os': 'linux', |
| 'version': 'trusty', |
| 'bits': '64', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['vm-mips-release'], |
| 'hostname': 'build28-b3', |
| 'os': 'linux', |
| 'version': 'debian squeeze', |
| 'bits': 'mips 32', |
| }, |
| { |
| 'master': 'DartFYI', |
| 'builder': ['vm-mips-debug'], |
| 'hostname': 'build29-b3', |
| 'os': 'linux', |
| 'version': 'debian squeeze', |
| 'bits': 'mips 32', |
| }, |
| ] |
| |
| |
| # This is hack to eliminate the need for sharing code between master and |
| # clients. These channels are replicated in scripts/factory/dart/channels.py. |
| channel_postfixes = ['-be', '-dev', '-stable', '-integration'] |
| |
| def valid_for_channel(builder, channel): |
| """ Returns true if we have this builder on this specific channel""" |
| return channel != '-integration' or ('dartium' in builder and not |
| 'dartium-android-release' in builder) |
| |
| def is_channel_builder(builder): |
| """Returns true if the builder name is already specific to a channel |
| (i.e. the builder ends with a channel postfix).""" |
| for postfix in channel_postfixes: |
| if builder.endswith(postfix): |
| return True |
| return False |
| |
| def duplicate_builders_in_slaves(slaves): |
| """Traverses a list of slaves and duplicates the builders associated with each |
| slave for every channel. The channels have specified the postfix.""" |
| for slave in slaves: |
| all_builders = [] |
| for builder in slave.get('builder', ()): |
| if ('v8' not in builder |
| and not is_channel_builder(builder)): |
| for channel in channel_postfixes: |
| # Some channels don't have all builders |
| if valid_for_channel(builder, channel): |
| all_builders.append('%s%s' % (builder, channel)) |
| else: |
| all_builders.append(builder) |
| slave['builder'] = all_builders |
| return slaves |
| |
| slaves = duplicate_builders_in_slaves(slaves) |