| # Copyright 2020 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| DEPS = [ |
| "fuchsia/buildbucket_util", |
| "fuchsia/status_check", |
| "recipe_engine/buildbucket", |
| ] |
| |
| |
| def RunSteps(api): |
| builds = api.buildbucket.collect_builds( |
| build_ids=[ |
| 123456789012345678, |
| 987654321098765432, |
| 112233445566778899, |
| 199887766554433221, |
| ] |
| ).values() |
| api.buildbucket_util.display_builds("display builds", builds, raise_on_failure=True) |
| |
| |
| def GenTests(api): |
| def build(summary_markdown=None, **kwargs): |
| b = api.buildbucket.ci_build_message(**kwargs) |
| if summary_markdown: |
| b.summary_markdown = summary_markdown |
| return b |
| |
| yield ( |
| api.status_check.test("mixed_with_infra_failures", status="infra_failure") |
| # Exercise all status colors. |
| # Purple failures prioritized over red failures. |
| + api.buildbucket.simulated_collect_output( |
| [ |
| build(build_id=123456789012345678, status="SUCCESS"), |
| build( |
| build_id=987654321098765432, |
| status="INFRA_FAILURE", |
| summary_markdown="something failed", |
| ), |
| build( |
| build_id=112233445566778899, |
| status="FAILURE", |
| summary_markdown="something failed", |
| ), |
| build(build_id=199887766554433221, status="SCHEDULED"), |
| ] |
| ) |
| ) |
| |
| yield ( |
| api.status_check.test("mixed_without_infra_failures", status="failure") |
| # With just red failures, raise red. |
| + api.buildbucket.simulated_collect_output( |
| [ |
| build(build_id=123456789012345678, status="SUCCESS"), |
| build(build_id=987654321098765432, status="FAILURE"), |
| build(build_id=112233445566778899, status="FAILURE"), |
| build(build_id=199887766554433221, status="SCHEDULED"), |
| ] |
| ) |
| ) |
| |
| yield ( |
| api.status_check.test("all_passed") |
| + api.buildbucket.simulated_collect_output( |
| [build(build_id=123456789012345678, status="SUCCESS")] |
| ) |
| ) |