Adds a present builds steps.
Before this change the main build was always green even if some of the
subbuilds failed.
Change-Id: Ib1fdb53ed4bf7ffc7366a59cc4b8c7aad2f1601b
Bug: https://github.com/flutter/flutter/issues/81855
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/16787
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipes/engine_v2/engine_v2.expected/basic.json b/recipes/engine_v2/engine_v2.expected/basic.json
index b0e7355..2db096f 100644
--- a/recipes/engine_v2/engine_v2.expected/basic.json
+++ b/recipes/engine_v2/engine_v2.expected/basic.json
@@ -390,6 +390,26 @@
]
},
{
+ "cmd": [],
+ "name": "display builds"
+ },
+ {
+ "cmd": [],
+ "name": "display builds.builder-subbuild1",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@8945511751514863186@https://cr-buildbucket.appspot.com/build/8945511751514863186@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "display builds.builder-subbuild2",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@8945511751514863187@https://cr-buildbucket.appspot.com/build/8945511751514863187@@@"
+ ]
+ },
+ {
"name": "$result"
}
]
\ No newline at end of file
diff --git a/recipes/engine_v2/engine_v2.py b/recipes/engine_v2/engine_v2.py
index 3b2b124..60e23f3 100644
--- a/recipes/engine_v2/engine_v2.py
+++ b/recipes/engine_v2/engine_v2.py
@@ -18,9 +18,12 @@
from PB.recipes.flutter.engine import EnvProperties
from PB.go.chromium.org.luci.buildbucket.proto import build as build_pb2
+from PB.go.chromium.org.luci.buildbucket.proto \
+ import builds_service as builds_service_pb2
from google.protobuf import struct_pb2
DEPS = [
+ 'flutter/display_util',
'flutter/repo_util',
'flutter/shard_util_v2',
'recipe_engine/buildbucket',
@@ -55,8 +58,14 @@
with api.step.nest('launch builds') as presentation:
tasks = api.shard_util_v2.schedule(builds, presentation)
with api.step.nest('collect builds') as presentation:
- api.shard_util_v2.collect([build.build_id for build in tasks.values()],
- presentation)
+ results = api.shard_util_v2.collect(
+ [build.build_id for build in tasks.values()],
+ presentation)
+ api.display_util.display_builds(
+ step_name='display builds',
+ builds=[b.build_proto for b in results.values()],
+ raise_on_failure=True,
+ )
def GenTests(api):
@@ -77,6 +86,7 @@
"ninja": {"config": "ios_debug", "targets": []},
"generators": [{"name": "generator1", "script": "script1.sh"}]
}]
+
yield api.test(
'basic', api.properties(builds=builds),
api.buildbucket.try_build(
@@ -84,11 +94,11 @@
builder='try-builder',
git_repo='https://github.com/repo/a',
revision='a' * 40,
- build_number=123
+ build_number=123,
),
api.shard_util_v2.child_build_steps(
builds=[try_subbuild1, try_subbuild2],
launch_step="launch builds",
collect_step="collect builds",
- )
+ ),
)