 Chromium Code Reviews
 Chromium Code Reviews Issue 2128613005:
  Archive Linux perf builds for manual bisect  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
    
  
    Issue 2128613005:
  Archive Linux perf builds for manual bisect  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master| Index: scripts/slave/recipe_modules/chromium_tests/api.py | 
| diff --git a/scripts/slave/recipe_modules/chromium_tests/api.py b/scripts/slave/recipe_modules/chromium_tests/api.py | 
| index 4fa44f2ce533601fe503345ff7a2e49eae20635b..d0b39390104e938d1302aea48a41afcc1198a1a8 100644 | 
| --- a/scripts/slave/recipe_modules/chromium_tests/api.py | 
| +++ b/scripts/slave/recipe_modules/chromium_tests/api.py | 
| @@ -212,7 +212,7 @@ class ChromiumTestsApi(recipe_api.RecipeApi): | 
| bot_config, root_solution_revision, force=force) | 
| if (self.m.chromium.c.compile_py.compiler and | 
| - 'goma' in self.m.chromium.c.compile_py.compiler): | 
| + 'goma' in self.m.chromium.c.compile_py.compiler): | 
| self.m.chromium.ensure_goma(canary=bot_config.get('goma_canary', False)) | 
| self.set_up_swarming(bot_config) | 
| @@ -406,6 +406,22 @@ class ChromiumTestsApi(recipe_api.RecipeApi): | 
| if not bot_config.get('cf_archive_build'): | 
| master_config = bot_db.get_master_settings(mastername) | 
| build_revision = update_step.presentation.properties['got_revision'] | 
| + | 
| + # For archiving 'chromium.perf', the builder also archives a version | 
| + # without perf test files. | 
| + if mastername.startswith('chromium.perf'): | 
| + self.m.archive.zip_and_upload_build( | 
| + 'package build bisect', | 
| 
stgao
2016/07/12 20:40:40
"for bisect" instead?
 
miimnk
2016/07/13 01:12:48
Done.
 | 
| + self.m.chromium.c.build_config_fs, | 
| + build_url=self._build_gs_archive_url( | 
| + mastername, master_config, buildername, strip_symbol = True), | 
| + build_revision=build_revision, | 
| + cros_board=self.m.chromium.c.TARGET_CROS_BOARD, | 
| + update_properties=update_step.presentation.properties, | 
| + includePerfTestFiles=False, | 
| + store_by_hash=False | 
| + ) | 
| + | 
| self.m.archive.zip_and_upload_build( | 
| 'package build', | 
| self.m.chromium.c.build_config_fs, | 
| @@ -474,6 +490,7 @@ class ChromiumTestsApi(recipe_api.RecipeApi): | 
| build_revision=None, override_bot_type=None): | 
| assert isinstance(bot_db, bdb_module.BotConfigAndTestDB), \ | 
| "bot_db argument %r was not a BotConfigAndTestDB" % (bot_db) | 
| + | 
| # We only want to do this for tester bots (i.e. those which do not compile | 
| # locally). | 
| bot_type = override_bot_type or bot_db.get_bot_config( | 
| @@ -762,7 +779,7 @@ class ChromiumTestsApi(recipe_api.RecipeApi): | 
| self.m.swarming.add_default_tag('purpose:post-commit') | 
| self.m.swarming.add_default_tag('purpose:CI') | 
| - def _build_gs_archive_url(self, mastername, master_config, buildername): | 
| + def _build_gs_archive_url(self, mastername, master_config, buildername, strip_symbol = False): | 
| """Returns the archive URL to pass to self.m.archive.zip_and_upload_build. | 
| Most builders on most masters use a standard format for the build archive | 
| @@ -776,6 +793,10 @@ class ChromiumTestsApi(recipe_api.RecipeApi): | 
| (as set on the master's configuration) is used instead. | 
| """ | 
| if mastername.startswith('chromium.perf'): | 
| + if strip_symbol: | 
| + return self.m.archive.legacy_upload_url( | 
| + master_config.get('bisect_build_gs_bucket'), | 
| + extra_url_components=None) | 
| return self.m.archive.legacy_upload_url( | 
| master_config.get('build_gs_bucket'), | 
| extra_url_components=None) |