| Index: infra/bots/recipe_modules/vars/api.py
|
| diff --git a/infra/bots/recipe_modules/vars/api.py b/infra/bots/recipe_modules/vars/api.py
|
| index 093cd87da74abd81069ecad069da1f709b00278b..7936602fc7339720c56ca155acc23c17fa085d67 100644
|
| --- a/infra/bots/recipe_modules/vars/api.py
|
| +++ b/infra/bots/recipe_modules/vars/api.py
|
| @@ -7,7 +7,6 @@
|
|
|
|
|
| from recipe_engine import recipe_api
|
| -import os
|
|
|
|
|
| BOTO_CHROMIUM_SKIA_GM = 'chromium-skia-gm.boto'
|
| @@ -16,113 +15,6 @@ CONFIG_DEBUG = 'Debug'
|
| CONFIG_RELEASE = 'Release'
|
|
|
|
|
| -def device_cfg(builder_dict):
|
| - # Android.
|
| - if 'Android' in builder_dict.get('extra_config', ''):
|
| - if 'NoNeon' in builder_dict['extra_config']:
|
| - return 'arm_v7'
|
| - return {
|
| - 'Arm64': 'arm64',
|
| - 'x86': 'x86',
|
| - 'x86_64': 'x86_64',
|
| - 'Mips': 'mips',
|
| - 'Mips64': 'mips64',
|
| - 'MipsDSP2': 'mips_dsp2',
|
| - }.get(builder_dict['target_arch'], 'arm_v7_neon')
|
| - elif builder_dict.get('os') == 'Android':
|
| - return {
|
| - 'AndroidOne': 'arm_v7_neon',
|
| - 'GalaxyS3': 'arm_v7_neon',
|
| - 'GalaxyS4': 'arm_v7_neon',
|
| - 'NVIDIA_Shield': 'arm64',
|
| - 'Nexus10': 'arm_v7_neon',
|
| - 'Nexus5': 'arm_v7_neon',
|
| - 'Nexus6': 'arm_v7_neon',
|
| - 'Nexus7': 'arm_v7_neon',
|
| - 'Nexus7v2': 'arm_v7_neon',
|
| - 'Nexus9': 'arm64',
|
| - 'NexusPlayer': 'x86',
|
| - }[builder_dict['model']]
|
| -
|
| - # iOS.
|
| - if 'iOS' in builder_dict.get('os', ''):
|
| - return {
|
| - 'iPad4': 'iPad4,1',
|
| - }[builder_dict['model']]
|
| -
|
| - return None
|
| -
|
| -
|
| -def product_board(builder_dict):
|
| - if 'Android' in builder_dict.get('os', ''):
|
| - return {
|
| - 'AndroidOne': 'sprout',
|
| - 'GalaxyS3': 'm0', #'smdk4x12', Detected incorrectly by swarming?
|
| - 'GalaxyS4': None, # TODO(borenet,kjlubick)
|
| - 'NVIDIA_Shield': 'foster',
|
| - 'Nexus10': 'manta',
|
| - 'Nexus5': 'hammerhead',
|
| - 'Nexus6': 'shamu',
|
| - 'Nexus7': 'grouper',
|
| - 'Nexus7v2': 'flo',
|
| - 'Nexus9': 'flounder',
|
| - 'NexusPlayer': 'fugu',
|
| - }[builder_dict['model']]
|
| - return None
|
| -
|
| -
|
| -def get_builder_spec(api, builder_name):
|
| - builder_dict = api.builder_name_schema.DictForBuilderName(builder_name)
|
| - rv = {
|
| - 'builder_cfg': builder_dict,
|
| - }
|
| - device = device_cfg(builder_dict)
|
| - if device:
|
| - rv['device_cfg'] = device
|
| - board = product_board(builder_dict)
|
| - if board:
|
| - rv['product.board'] = board
|
| -
|
| - role = builder_dict['role']
|
| - if role == api.builder_name_schema.BUILDER_ROLE_HOUSEKEEPER:
|
| - configuration = CONFIG_RELEASE
|
| - else:
|
| - configuration = builder_dict.get('configuration', CONFIG_DEBUG)
|
| - arch = (builder_dict.get('arch') or builder_dict.get('target_arch'))
|
| - if ('Win' in builder_dict.get('os', '') and arch == 'x86_64'):
|
| - configuration += '_x64'
|
| - rv['configuration'] = configuration
|
| - if configuration == 'Coverage':
|
| - rv['do_compile_steps'] = False
|
| - rv['do_test_steps'] = role == api.builder_name_schema.BUILDER_ROLE_TEST
|
| - rv['do_perf_steps'] = role == api.builder_name_schema.BUILDER_ROLE_PERF
|
| -
|
| - # Do we upload perf results?
|
| - upload_perf_results = False
|
| - if (role == api.builder_name_schema.BUILDER_ROLE_PERF and
|
| - CONFIG_RELEASE in configuration):
|
| - upload_perf_results = True
|
| - rv['upload_perf_results'] = upload_perf_results
|
| -
|
| - # Do we upload correctness results?
|
| - skip_upload_bots = [
|
| - 'ASAN',
|
| - 'Coverage',
|
| - 'MSAN',
|
| - 'TSAN',
|
| - 'UBSAN',
|
| - 'Valgrind',
|
| - ]
|
| - upload_dm_results = True
|
| - for s in skip_upload_bots:
|
| - if s in builder_name:
|
| - upload_dm_results = False
|
| - break
|
| - rv['upload_dm_results'] = upload_dm_results
|
| -
|
| - return rv
|
| -
|
| -
|
| class SkiaVarsApi(recipe_api.RecipeApi):
|
|
|
| def make_path(self, *path):
|
| @@ -131,26 +23,6 @@ class SkiaVarsApi(recipe_api.RecipeApi):
|
| self.m.path.c.base_paths[key] = tuple(path)
|
| return self.m.path[key]
|
|
|
| - def gsutil_env(self, boto_file):
|
| - """Environment variables for gsutil."""
|
| - boto_path = None
|
| - if boto_file:
|
| - boto_path = self.m.path.join(self.home_dir, boto_file)
|
| - return {'AWS_CREDENTIAL_FILE': boto_path,
|
| - 'BOTO_CONFIG': boto_path}
|
| -
|
| - @property
|
| - def home_dir(self):
|
| - """Find the home directory."""
|
| - home_dir = os.path.expanduser('~')
|
| - if self._test_data.enabled:
|
| - home_dir = '[HOME]'
|
| - return home_dir
|
| -
|
| - def get_builder_spec(self, builder_name):
|
| - """Return the builder_spec for the given builder name."""
|
| - return get_builder_spec(self.m, builder_name)
|
| -
|
| def setup(self):
|
| """Prepare the variables."""
|
| # Setup
|
| @@ -222,18 +94,19 @@ class SkiaVarsApi(recipe_api.RecipeApi):
|
| # Some bots also require a checkout of PDFium.
|
| self.need_pdfium_checkout = 'PDFium' in self.builder_name
|
|
|
| - # Obtain the spec for this builder. Use it to set more properties.
|
| - self.builder_spec = get_builder_spec(self.m, self.builder_name)
|
| -
|
| - self.builder_cfg = self.builder_spec['builder_cfg']
|
| + self.builder_cfg = self.m.builder_name_schema.DictForBuilderName(
|
| + self.builder_name)
|
| self.role = self.builder_cfg['role']
|
| + if self.role == self.m.builder_name_schema.BUILDER_ROLE_HOUSEKEEPER:
|
| + self.configuration = CONFIG_RELEASE
|
| + else:
|
| + self.configuration = self.builder_cfg.get('configuration', CONFIG_DEBUG)
|
| + arch = (self.builder_cfg.get('arch') or self.builder_cfg.get('target_arch'))
|
| + if ('Win' in self.builder_cfg.get('os', '') and arch == 'x86_64'):
|
| + self.configuration += '_x64'
|
|
|
| - self.configuration = self.builder_spec['configuration']
|
| self.default_env.update({'SKIA_OUT': self.skia_out,
|
| 'BUILDTYPE': self.configuration})
|
| - self.do_compile_steps = self.builder_spec.get('do_compile_steps', True)
|
| - self.do_test_steps = self.builder_spec['do_test_steps']
|
| - self.do_perf_steps = self.builder_spec['do_perf_steps']
|
| self.is_trybot = self.builder_cfg['is_trybot']
|
| self.issue = None
|
| self.patchset = None
|
| @@ -242,9 +115,30 @@ class SkiaVarsApi(recipe_api.RecipeApi):
|
| self.issue = self.m.properties['issue']
|
| self.patchset = self.m.properties['patchset']
|
| self.rietveld = self.m.properties['rietveld']
|
| - self.upload_dm_results = self.builder_spec['upload_dm_results']
|
| - self.upload_perf_results = self.builder_spec['upload_perf_results']
|
| self.dm_dir = self.m.path.join(
|
| self.swarming_out_dir, 'dm')
|
| self.perf_data_dir = self.m.path.join(self.swarming_out_dir,
|
| 'perfdata', self.builder_name, 'data')
|
| +
|
| + @property
|
| + def upload_dm_results(self):
|
| + # TODO(borenet): Move this into the swarm_test recipe.
|
| + skip_upload_bots = [
|
| + 'ASAN',
|
| + 'Coverage',
|
| + 'MSAN',
|
| + 'TSAN',
|
| + 'UBSAN',
|
| + 'Valgrind',
|
| + ]
|
| + upload_dm_results = True
|
| + for s in skip_upload_bots:
|
| + if s in self.m.properties['buildername']:
|
| + upload_dm_results = False
|
| + break
|
| + return upload_dm_results
|
| +
|
| + @property
|
| + def upload_perf_results(self):
|
| + # TODO(borenet): Move this into the swarm_perf recipe.
|
| + return ('Release' in self.m.properties['buildername'])
|
|
|