| Index: infra/tools/builder_alerts/buildbot.py
|
| diff --git a/infra/tools/builder_alerts/buildbot.py b/infra/tools/builder_alerts/buildbot.py
|
| index 7f138b1ce7fa129d21f36eb27299da9a9091ca03..281ccbf6dd0122474600107ec0037f99212be7a6 100644
|
| --- a/infra/tools/builder_alerts/buildbot.py
|
| +++ b/infra/tools/builder_alerts/buildbot.py
|
| @@ -178,10 +178,20 @@ def revisions_from_build(build_json): # pragma: no cover
|
| revisions[repo_name] = revision
|
| return revisions
|
|
|
| +def latest_update_time_for_builder(last_build):
|
| + last_update = None
|
| + if last_build['times'][1] != None:
|
| + last_update = float(last_build['times'][1])
|
| + else:
|
| + for step in last_build['steps']:
|
| + step_time = float(step['times'][0])
|
| + last_update = max(step_time, last_update)
|
| + return last_update
|
| +
|
|
|
| # "line too long" pylint: disable=C0301
|
| -def latest_revisions_for_master(cache, master_url, master_json): # pragma: no cover
|
| - latest_revisions = collections.defaultdict(dict)
|
| +def latest_builder_info_for_master(cache, master_url, master_json): # pragma: no cover
|
| + latest_builder_info = collections.defaultdict(dict)
|
| master_name = master_name_from_url(master_url)
|
| for builder_name, builder_json in master_json['builders'].items():
|
| # recent_builds can include current builds
|
| @@ -190,9 +200,12 @@ def latest_revisions_for_master(cache, master_url, master_json): # pragma: no c
|
| last_finished_id = sorted(recent_builds - active_builds, reverse=True)[0]
|
| last_build = fetch_build_json(cache,
|
| master_url, builder_name, last_finished_id)
|
| - latest_revisions[master_name][builder_name] = \
|
| - revisions_from_build(last_build)
|
| - return latest_revisions
|
| + latest_builder_info[master_name][builder_name] = {
|
| + 'revisions': revisions_from_build(last_build),
|
| + 'state': builder_json['state'],
|
| + 'lastUpdateTime': latest_update_time_for_builder(last_build),
|
| + }
|
| + return latest_builder_info
|
|
|
|
|
| def warm_build_cache(cache, master_url, builder_name,
|
|
|