Index: tools/auto_bisect/fetch_build.py |
diff --git a/tools/auto_bisect/fetch_build.py b/tools/auto_bisect/fetch_build.py |
index 7b622fb4cb3bf3e43f1d9848cf8715b3e91bb877..b4036ac23fe376e6fdc0a4306112e3bc74cd6156 100644 |
--- a/tools/auto_bisect/fetch_build.py |
+++ b/tools/auto_bisect/fetch_build.py |
@@ -37,6 +37,10 @@ MAX_MAC_BUILD_TIME = 14400 |
MAX_WIN_BUILD_TIME = 14400 |
MAX_LINUX_BUILD_TIME = 14400 |
+# Try server status page URLs, used to get build status. |
+PERF_TRY_SERVER_URL = 'http://build.chromium.org/p/tryserver.chromium.perf' |
+LINUX_TRY_SERVER_URL = 'http://build.chromium.org/p/tryserver.chromium.linux' |
+ |
def GetBucketAndRemotePath(revision, builder_type=PERF_BUILDER, |
target_arch='ia32', target_platform='chromium', |
@@ -77,6 +81,17 @@ def GetBuilderNameAndBuildTime(builder_type=PERF_BUILDER, target_arch='ia32', |
return build_archive.GetBuilderName(), build_archive.GetBuilderBuildTime() |
+def GetBuildBotUrl(builder_type=PERF_BUILDER, target_arch='ia32', |
+ target_platform='chromium', extra_src=None): |
+ """Gets buildbot URL for a given builder type.""" |
+ logging.info('Getting buildbot URL for "%s", "%s", "%s".', |
+ builder_type, target_arch, target_platform) |
+ build_archive = BuildArchive.Create( |
+ builder_type, target_arch=target_arch, target_platform=target_platform, |
+ extra_src=extra_src) |
+ return build_archive.GetBuildBotUrl() |
+ |
+ |
class BuildArchive(object): |
"""Represents a place where builds of some type are stored. |
@@ -109,6 +124,8 @@ class BuildArchive(object): |
self._extra_src = extra_src |
if bisect_utils.IsLinuxHost() and target_platform == 'android': |
self._platform = 'android' |
+ elif bisect_utils.IsLinuxHost() and target_platform == 'android-chrome': |
+ self._platform = 'android-chrome' |
elif bisect_utils.IsLinuxHost(): |
self._platform = 'linux' |
elif bisect_utils.IsMacHost(): |
@@ -175,12 +192,15 @@ class BuildArchive(object): |
"""Returns the time to wait for a build after requesting one.""" |
if self._platform in ('win', 'win64'): |
return MAX_WIN_BUILD_TIME |
- if self._platform in ('linux', 'android'): |
+ if self._platform in ('linux', 'android', 'android-chrome'): |
return MAX_LINUX_BUILD_TIME |
if self._platform == 'mac': |
return MAX_MAC_BUILD_TIME |
raise NotImplementedError('Unsupported Platform "%s".' % sys.platform) |
+ def GetBuildBotUrl(self): |
+ raise NotImplementedError() |
+ |
class PerfBuildArchive(BuildArchive): |
@@ -217,6 +237,10 @@ class PerfBuildArchive(BuildArchive): |
return 'mac_perf_bisect_builder' |
raise NotImplementedError('Unsupported platform "%s".' % sys.platform) |
+ def GetBuildBotUrl(self): |
+ """Returns buildbot URL for fetching build info.""" |
+ return PERF_TRY_SERVER_URL |
+ |
class FullBuildArchive(BuildArchive): |
@@ -253,6 +277,11 @@ class FullBuildArchive(BuildArchive): |
return 'linux_full_bisect_builder' |
raise NotImplementedError('Unsupported platform "%s".' % sys.platform) |
+ def GetBuildBotUrl(self): |
+ """Returns buildbot URL for fetching build info.""" |
+ return LINUX_TRY_SERVER_URL |
+ |
+ |
class AndroidChromeBuildArchive(BuildArchive): |
"""Represents a place where builds of android-chrome type are stored. |
@@ -293,6 +322,10 @@ class AndroidChromeBuildArchive(BuildArchive): |
"""Returns the builder name extra source.""" |
return self._extra_src.GetBuilderName() |
+ def GetBuildBotUrl(self): |
+ """Returns buildbot URL for fetching build info.""" |
+ return self._extra_src.GetBuildBotUrl() |
+ |
def BuildIsAvailable(bucket_name, remote_path): |
"""Checks whether a build is currently archived at some place.""" |