Fork recipes testing.
This is a prerequisite to get properties injected to buildbucket api
correctly.
This is forked from fuchsia/recipes/recipe_modules/recipe_testing. It does not contain any changes yet but the idea is that we will be calling get-build instead of get-builder to ensure all the properties are populated.
A future use case if to grab builders from release branches builds when the led recipes tests are running on release candidate branch cherry picks.
Bug: https://github.com/flutter/flutter/issues/113611
Change-Id: Ie7453aa5d0c0785ef3d28b7c2a7c9103f2ae562a
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/34920
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipe_modules/recipe_testing/__init__.py b/recipe_modules/recipe_testing/__init__.py
new file mode 100644
index 0000000..4710706
--- /dev/null
+++ b/recipe_modules/recipe_testing/__init__.py
@@ -0,0 +1,28 @@
+# Copyright 2022 The Chromium 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/commit_queue",
+ "fuchsia/gerrit",
+ "fuchsia/git",
+ "fuchsia/gitiles",
+ "fuchsia/subbuild",
+ "fuchsia/swarming_retry",
+ "recipe_engine/buildbucket",
+ "recipe_engine/context",
+ "recipe_engine/file",
+ "recipe_engine/json",
+ "recipe_engine/led",
+ "recipe_engine/path",
+ "recipe_engine/properties",
+ "recipe_engine/raw_io",
+ "recipe_engine/step",
+ "recipe_engine/swarming",
+ "recipe_engine/time",
+]
+
+from PB.recipe_modules.flutter.recipe_testing.properties import InputProperties
+
+PROPERTIES = InputProperties
diff --git a/recipe_modules/recipe_testing/api.py b/recipe_modules/recipe_testing/api.py
new file mode 100644
index 0000000..1d19c27
--- /dev/null
+++ b/recipe_modules/recipe_testing/api.py
@@ -0,0 +1,507 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Code for testing recipes."""
+
+import datetime
+import fnmatch
+import functools
+
+from google.protobuf import json_format as jsonpb
+from google.protobuf import timestamp_pb2
+
+from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
+from PB.go.chromium.org.luci.buildbucket.proto import (
+ builds_service as builds_service_pb2,
+)
+from PB.recipe_modules.flutter.recipe_testing import properties as properties_pb2
+from recipe_engine import recipe_api
+from RECIPE_MODULES.fuchsia.swarming_retry import api as swarming_retry_api
+
+
+class Build(swarming_retry_api.LedTask):
+ # This warning is spurious because LedTask defines _led_data.
+ # pylint: disable=attribute-defined-outside-init
+
+ def include_cl(self, cl):
+ self._led_data = self._led_data.then("edit-cr-cl", cl)
+
+ def include_recipe_bundle(self):
+ self._led_data = self._led_data.then("edit-recipe-bundle")
+
+ def use_realms(self):
+ self._led_data = self._led_data.then(
+ "edit", "-experiment", "luci.use_realms=true"
+ )
+
+ def set_properties(self, properties):
+ args = []
+ for k, v in properties.items():
+ args += ["-pa", "%s=%s" % (k, self._api.json.dumps(v))]
+ self._led_data = self._led_data.then("edit", *args)
+
+
+def led_task_name(builder):
+ """Returns the name to use for the led swarming task for the builder."""
+ return "recipes-cq:%s" % builder
+
+
+class RecipeTestingApi(recipe_api.RecipeApi):
+ """API for running tests and processing test results."""
+
+ def __init__(self, props, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self._recipe_depth = props.recipe_depth
+ self.enabled = props.enabled
+ self.max_build_age_seconds = int(datetime.timedelta(days=28).total_seconds())
+ self.projects = ("flutter",)
+
+ def _get_affected_recipes(self, recipes_path):
+ """Collect affected recipes.
+
+ For now assume we care about all recipes.
+ """
+
+ with self.m.step.nest("get_affected_recipes") as parent_step:
+ recipes_dir = recipes_path.join("recipes")
+ recipe_files = self.m.file.listdir(
+ "ls-recipes", recipes_dir, recursive=True
+ )
+
+ all_recipes = []
+ for recipe_file in recipe_files:
+ path = self.m.path.relpath(
+ self.m.path.realpath(recipe_file), self.m.path.realpath(recipes_dir)
+ )
+ # Files inside folders that end in ".resources" are never recipes.
+ if self.m.path.dirname(path).endswith(".resources"):
+ continue
+
+ name, ext = self.m.path.splitext(path)
+ if ext == ".py":
+ all_recipes.append(name)
+
+ parent_step.logs["all recipes"] = all_recipes
+
+ with self.m.context(cwd=recipes_path):
+ changed_files = self.m.git.get_changed_files(commit="HEAD")
+ parent_step.logs["changed files (raw)"] = changed_files
+
+ def is_expected_json(path):
+ # We want to ignore expected JSON files--they won't affect how recipes
+ # run. It's possible there are JSON files used as data for recipes
+ # instead of as expected test outputs, so determine which files to
+ # ignore very narrowly.
+ return self.m.path.splitext(path)[1] == ".json" and self.m.path.dirname(
+ path
+ ).endswith(".expected")
+
+ def is_python_test_file(path):
+ """Return True if this is a test file that we should ignore."""
+ # We want to ignore test_api.py files--they won't affect how recipes
+ # run in led, they only affect how recipes run in
+ # './recipes test run', and we test that every time any recipe is
+ # changed.
+ if (
+ self.m.path.basename(path) == "test_api.py"
+ and self.m.path.dirname(self.m.path.dirname(path))
+ == "recipe_modules"
+ ):
+ return True
+
+ # Also ignore test definitions themselves. By convention these are
+ # given the filename 'full.py' in Fuchsia, but there is no
+ # guarantee this will remain the case.
+ test_dir_names = ("tests", "examples")
+ if (
+ self.m.path.splitext(path)[1] == ".py"
+ and self.m.path.basename(self.m.path.dirname(path))
+ in test_dir_names
+ ):
+ return True
+
+ return False
+
+ def is_ignored_file(path):
+ return is_expected_json(path) or is_python_test_file(path)
+
+ filtered_changed_files = [
+ x for x in changed_files if not is_ignored_file(x)
+ ]
+ parent_step.logs["changed files (filtered)"] = filtered_changed_files or [
+ "no changed files"
+ ]
+
+ res = self.m.step(
+ "recipes-analyze",
+ [
+ recipes_path.join("recipes.py"),
+ "analyze",
+ self.m.json.input(
+ {"recipes": all_recipes, "files": filtered_changed_files}
+ ),
+ self.m.json.output(),
+ ],
+ )
+
+ affected_recipes = res.json.output["recipes"]
+
+ def should_test_all_recipes(path):
+ globs = (
+ "infra/config/recipes.cfg",
+ # We particularly care about running CQ for flutter.proto changes.
+ "recipe_proto/*.proto",
+ )
+ return any(fnmatch.fnmatch(path, glob) for glob in globs)
+
+ special_changed_files = [
+ f for f in changed_files if should_test_all_recipes(f)
+ ]
+ if special_changed_files:
+ step = self.m.step.empty("mark all recipes as affected")
+ step.presentation.step_summary_text = (
+ "because these files were changed:"
+ )
+ step.presentation.step_text = "\n" + "\n".join(special_changed_files)
+ affected_recipes = all_recipes
+
+ parent_step.logs["affected recipes"] = affected_recipes
+
+ # Skip running recipes in the `recipes/contrib` directory, because
+ # they are generally lower-priority and not worth running by default
+ # in recipes CQ.
+ return {r for r in affected_recipes if not r.startswith("contrib/")}
+
+ def _get_last_green_build(self, builder):
+ """Returns the build proto for a builder's most recent successful build.
+
+ If no build younger than `self.max_build_age_seconds` is found, returns
+ None.
+
+ Args:
+ builder: builder protobuf object
+ """
+ project, bucket, builder = builder.split("/")
+ # "infra" is not returned by default, so we have to specify it.
+ build = self.m.buildbucket_util.last_build(
+ project, bucket, builder, status=common_pb2.SUCCESS
+ )
+ if not build:
+ return None
+
+ age_seconds = self.m.time.time() - build.end_time.seconds
+ if age_seconds > self.max_build_age_seconds:
+ return None
+ return build
+
+ def _create_led_build(self, orig_build, selftest_cl):
+ builder = orig_build.builder
+ builder_lookup_name = "{project}/{bucket}:{builder}".format(
+ project=builder.project,
+ bucket=builder.bucket,
+ builder=builder.builder,
+ )
+ # Using `led get-builder` instead of `led get-build` ensures that we
+ # won't use an outdated version of the builder (e.g. with deprecated
+ # dimensions).
+ # By default the priority is increased by 10 (resulting in a "lower"
+ # priority), but we want it to stay the same.
+ led_data = self.m.led(
+ "get-builder", "-adjust-priority", "0", builder_lookup_name
+ )
+
+ led_data = led_data.then("edit", "-name", led_task_name(builder.builder))
+ build = Build(api=self.m, name=builder.builder, led_data=led_data)
+
+ if orig_build.input.properties["recipe"] == "recipes":
+ build.include_cl(selftest_cl)
+ elif orig_build.input.gerrit_changes:
+ orig_cl = orig_build.input.gerrit_changes[0]
+ cl_id, patchset = self._get_latest_cl(orig_cl.host, orig_cl.project)
+ # Setting the CL to a more recent CL helps avoid rebase errors, but
+ # if unable to find a recent CL, fall back to the original build's
+ # triggering CL. It usually works.
+ if not cl_id:
+ cl_id = orig_cl.change
+ patchset = orig_cl.patchset
+ url = "https://%s/c/%s/+/%d/%d" % (
+ orig_cl.host,
+ orig_cl.project,
+ cl_id,
+ patchset,
+ )
+ build.include_cl(url)
+ build.set_properties(self._tryjob_properties())
+ build.use_realms()
+
+ return build
+
+ @functools.lru_cache(maxsize=None)
+ def _get_latest_cl(self, gerrit_host, project):
+ """Returns number and patchset for a project's most recently landed CL.
+
+ Args:
+ gerrit_host (str): E.g., flutter-review.googlesource.com
+ project (str): The name of the project in gerrit, e.g. "flutter"
+
+ Returns:
+ A tuple of
+ * The integer change number for the CL corresponding to the commit at
+ the tip of the main branch.
+ * The last patchset of that CL.
+ """
+ gitiles_host = gerrit_host.replace("-review", "")
+ remote = "https://%s/%s" % (gitiles_host, project)
+ ref = self.m.git.get_default_remote_branch(remote)
+ log = self.m.gitiles.log(remote, ref, limit=10, step_name="log %s" % project)
+
+ for log_entry in log:
+ commit_hash = log_entry["id"]
+ step = self.m.gerrit.change_details(
+ "latest change details for %s" % project,
+ commit_hash,
+ query_params=("CURRENT_REVISION",),
+ host=gerrit_host,
+ test_data=self.m.json.test_api.output(
+ {
+ "_number": 12345,
+ "current_revision": "5" * 40,
+ "revisions": {"5" * 40: {"_number": 6}},
+ }
+ ),
+ ok_ret=(0, 1),
+ )
+ # A commit that is committed directly without code review won't have a
+ # corresponding Gerrit CL, so fetching it will fail (which is fine, we'll
+ # just skip it and try the next one).
+ if step.retcode == 0:
+ cl_number = step.json.output["_number"]
+ rev = step.json.output["current_revision"]
+ ps_number = step.json.output["revisions"][rev]["_number"]
+ return (cl_number, ps_number)
+ return None, None
+
+ def run_lint(self, recipes_path, allowlist=""):
+ """Run lint on recipes.
+
+ Args:
+ recipes_path (Path): The path to the root of the recipes repo.
+ allowlist (str): A regex of import names to allow.
+ """
+ args = ["lint"]
+ if allowlist:
+ args.extend(["--allowlist", allowlist])
+ with self.m.context(cwd=recipes_path):
+ self.m.step(
+ "lint",
+ cmd=[self.m.context.cwd.join("recipes.py")] + args,
+ )
+
+ def run_unit_tests(self, recipes_path):
+ """Run the recipe unit tests."""
+ with self.m.context(cwd=recipes_path):
+ self.m.step(
+ "test",
+ cmd=[
+ self.m.context.cwd.join("recipes.py"),
+ "test",
+ "run",
+ ],
+ )
+
+ def run_tests(
+ self,
+ recipes_path,
+ selftest_cl,
+ config,
+ selftest_builder=None,
+ ):
+ """Launch CQ builders.
+
+ Args:
+ recipes_path (Path): Path to recipes repo checkout.
+ selftest_cl (str): The CL to use to test a recursive recipe testing
+ invocation.
+ config (RecipeTesting proto): Many options for led/bb tests.
+ TODO(fxbug.dev/88439): Make this a formal proto under
+ recipe_modules/recipe_testing.
+ selftest_builder (str|None): Builder to use to guarantee that we
+ exercise the scheduling codepath when `use_buildbucket` is True.
+ """
+ # When run against a change to the recipes recipe, this is what the
+ # swarming task stack should look like:
+ #
+ # * recipes.py from current recipe bundle, run against current CL
+ # * recipes.py from current CL, run against SELFTEST_CL
+ # * cobalt.py from current CL, run against current CL
+ #
+ # This works, but in case something goes wrong we need to make sure we
+ # don't enter infinite recursion. We should never get to a third call to
+ # recipes.py, so if we do we should exit.
+ if self._recipe_depth >= 2:
+ raise self.m.step.InfraFailure("recursion limit reached")
+
+ builders = set()
+ for project in config.projects:
+ project_builders = set(
+ self.m.commit_queue.all_tryjobs(
+ project=project.name,
+ include_unrestricted=project.include_unrestricted,
+ include_restricted=project.include_restricted,
+ config_name=project.cq_config_name or "commit-queue.cfg",
+ )
+ )
+
+ for excluded_bucket in project.excluded_buckets:
+ excluded_builders = set()
+ for builder in project_builders:
+ # Retrieve "<bucket>" from "<project>/<bucket>/<builder>".
+ bucket = builder.split("/")[1]
+ if bucket == excluded_bucket:
+ excluded_builders.add(builder)
+
+ if excluded_builders:
+ project_builders -= excluded_builders
+ with self.m.step.nest(
+ "excluding {} builders from bucket {}/{}".format(
+ len(excluded_builders),
+ project.name,
+ excluded_bucket,
+ )
+ ) as pres:
+ pres.step_summary_text = "\n".join(sorted(excluded_builders))
+
+ builders.update(project_builders)
+
+ builders = sorted(builders)
+
+ affected_recipes = self._get_affected_recipes(recipes_path=recipes_path)
+ if not affected_recipes:
+ return
+
+ if config.use_buildbucket:
+ self._run_buildbucket_tests(selftest_builder, builders, affected_recipes)
+ else:
+ self._run_led_tests(recipes_path, selftest_cl, builders, affected_recipes)
+
+ def _is_build_affected(self, orig_build, affected_recipes, presentation):
+ if not orig_build:
+ presentation.step_summary_text = "no recent builds found"
+ return False
+
+ recipe = orig_build.input.properties["recipe"]
+ assert recipe
+
+ is_recipe_affected = recipe in affected_recipes
+ presentation.step_summary_text = "SELECTED" if is_recipe_affected else "skipped"
+ presentation.logs["recipe_used"] = recipe
+ return is_recipe_affected
+
+ def _get_green_tryjobs(self, expiry_secs=24 * 60 * 60):
+ """Return the set of tryjobs that are green on the current patchset.
+
+ Args:
+ expiry_secs (int): Do not return tryjobs which are older than this
+ value in seconds.
+ """
+ builds = self.m.buildbucket.search(
+ builds_service_pb2.BuildPredicate(
+ gerrit_changes=list(self.m.buildbucket.build.input.gerrit_changes),
+ status=common_pb2.SUCCESS,
+ create_time=common_pb2.TimeRange(
+ start_time=timestamp_pb2.Timestamp(
+ seconds=int(self.m.time.time()) - expiry_secs,
+ ),
+ ),
+ ),
+ fields=["builder"],
+ step_name="get green tryjobs",
+ )
+ return {self.m.buildbucket_util.full_builder_name(b.builder) for b in builds}
+
+ def _run_buildbucket_tests(self, selftest_builder, builders, affected_recipes):
+ affected_builders = []
+ recipes_is_affected = False
+
+ with self.m.step.nest("get builders"), self.m.context(infra_steps=True):
+ green_tryjobs = self._get_green_tryjobs()
+ builders = [b for b in builders if b not in green_tryjobs]
+ for builder in builders:
+ with self.m.step.nest(builder) as presentation:
+ orig_build = self._get_last_green_build(builder)
+ if self._is_build_affected(
+ orig_build, affected_recipes, presentation
+ ):
+ # With recipe versioning, the `recipes` recipe is
+ # already tested in this invocation, so don't schedule
+ # any more `recipes` builds.
+ if orig_build.input.properties["recipe"] == "recipes":
+ recipes_is_affected = True
+ continue
+ affected_builders.append(builder)
+
+ # If `affected_builders` is empty, but the current recipe was affected,
+ # then we should schedule one self-test builder so we can still exercise
+ # the scheduling codepath.
+ if not affected_builders and recipes_is_affected:
+ affected_builders = [selftest_builder]
+
+ with self.m.step.nest("launch builds") as presentation:
+ builds = self.m.subbuild.launch(
+ # TODO(atyfto): Fix subbuild.launch so it can accept builders
+ # with `bucket`s and/or `project`s which don't necessarily match
+ # the current build's.
+ builder_names=[b.split("/")[-1] for b in affected_builders],
+ extra_properties=self._tryjob_properties(),
+ presentation=presentation,
+ # Present tryjobs in Gerrit since they are effectively
+ # top-level builds.
+ hide_in_gerrit=False,
+ )
+ with self.m.step.nest("collect builds"):
+ results = self.m.subbuild.collect(
+ build_ids=[b.build_id for b in builds.values()],
+ )
+ self.m.buildbucket_util.display_builds(
+ "check builds",
+ [b.build_proto for b in results.values()],
+ raise_on_failure=True,
+ )
+
+ def _run_led_tests(self, recipes_path, selftest_cl, builders, affected_recipes):
+ builds = []
+ with self.m.step.nest("get builders") as nest, self.m.context(
+ cwd=recipes_path, infra_steps=True
+ ):
+ for builder in builders:
+ with self.m.step.nest(builder) as presentation:
+ orig_build = self._get_last_green_build(builder)
+ if self._is_build_affected(
+ orig_build, affected_recipes, presentation
+ ):
+ build = self._create_led_build(orig_build, selftest_cl)
+ build.include_recipe_bundle()
+ builds.append(build)
+
+ nest.step_summary_text = "selected {} builds".format(len(builds))
+
+ if not builds:
+ return
+
+ self.m.swarming_retry.run_and_present_tasks(builds)
+
+ def _tryjob_properties(self):
+ """Properties that should be set on each launched tryjob."""
+ props = properties_pb2.InputProperties(
+ # Signal to the launched build that it's being tested by this module.
+ enabled=True,
+ # Increment the recipe depth. This only has an effect on builds that
+ # use this module.
+ recipe_depth=self._recipe_depth + 1,
+ )
+ return {
+ "$flutter/recipe_testing": jsonpb.MessageToDict(
+ props, preserving_proto_field_name=True
+ )
+ }
diff --git a/recipe_modules/recipe_testing/options.proto b/recipe_modules/recipe_testing/options.proto
new file mode 100644
index 0000000..65c2a4f
--- /dev/null
+++ b/recipe_modules/recipe_testing/options.proto
@@ -0,0 +1,32 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto3";
+
+package recipe_modules.flutter.recipe_testing;
+
+message Project {
+ // Name of the project, e.g., "flutter".
+ string name = 1;
+
+ // Include tryjobs with result_visibility COMMENT_LEVEL_RESTRICTED.
+ bool include_restricted = 2;
+
+ // Include tryjobs with result_visibility COMMENT_LEVEL_FULL.
+ bool include_unrestricted = 3;
+
+ // Name of the CQ file. Defaults to "commit-queue.cfg".
+ string cq_config_name = 4;
+
+ // Buckets to exclude from recipe testing.
+ repeated string excluded_buckets = 5;
+}
+
+message Options {
+ // List of projects to use when searching for tryjobs.
+ repeated Project projects = 1;
+
+ // Launch tryjobs through Buildbucket API instead of led.
+ bool use_buildbucket = 2;
+}
diff --git a/recipe_modules/recipe_testing/properties.proto b/recipe_modules/recipe_testing/properties.proto
new file mode 100644
index 0000000..eed8e8c
--- /dev/null
+++ b/recipe_modules/recipe_testing/properties.proto
@@ -0,0 +1,13 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto3";
+
+package recipe_modules.flutter.recipe_testing;
+
+message InputProperties {
+ int32 recipe_depth = 1;
+ // Set to true to expose to recipes that they are being tested by this module.
+ bool enabled = 2;
+}
diff --git a/recipe_modules/recipe_testing/test_api.py b/recipe_modules/recipe_testing/test_api.py
new file mode 100644
index 0000000..3b5149c
--- /dev/null
+++ b/recipe_modules/recipe_testing/test_api.py
@@ -0,0 +1,189 @@
+# Copyright 2022 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import datetime
+
+from google.protobuf import timestamp_pb2
+
+from PB.go.chromium.org.luci.buildbucket.proto import (
+ build as build_pb2,
+ builder_common as builder_common_pb2,
+ common as common_pb2,
+)
+from PB.go.chromium.org.luci.led.job import job as job_pb2
+from PB.recipe_modules.flutter.recipe_testing import options as options_pb2
+from recipe_engine import recipe_test_api
+
+ONE_DAY = int(datetime.timedelta(days=1).total_seconds())
+MAX_BUILD_AGE_SECONDS = int(datetime.timedelta(days=28).total_seconds())
+
+
+class RecipeTestingTestApi(recipe_test_api.RecipeTestApi):
+ def project(
+ self,
+ name="flutter",
+ include_unrestricted=True,
+ include_restricted=False,
+ cq_config_name="commit-queue.cfg",
+ excluded_buckets=(),
+ ):
+ return options_pb2.Project(
+ name=name,
+ include_unrestricted=include_unrestricted,
+ include_restricted=include_restricted,
+ cq_config_name=cq_config_name,
+ excluded_buckets=excluded_buckets,
+ )
+
+ def options(self, projects=(), use_buildbucket=False, **kwargs):
+ if not projects:
+ projects = [self.project()]
+ return self.m.properties(
+ recipe_testing_options=options_pb2.Options(
+ projects=list(projects), use_buildbucket=use_buildbucket, **kwargs
+ )
+ )
+
+ def build_data(
+ self,
+ name,
+ recipe,
+ age_seconds=ONE_DAY,
+ cl_cached=False,
+ skip=False,
+ num_log_entries=1,
+ project="flutter",
+ bucket="try",
+ # used for both buildbucket build id and swarming task id.
+ fake_id=100,
+ using_led=True,
+ ):
+ # This time is taken from the time recipe_engine module. I see no way
+ # of getting it programmatically.
+ curr_time = 1337000000
+ end_time = curr_time - age_seconds
+
+ orig_build = build_pb2.Build(id=fake_id, status=common_pb2.SUCCESS)
+ orig_build.end_time.seconds = end_time
+ orig_build.builder.project = project
+ orig_build.builder.bucket = bucket
+ orig_build.builder.builder = name
+ orig_build.input.properties["recipe"] = recipe
+ cl = orig_build.input.gerrit_changes.add()
+ cl.host = "flutter-review.googlesource.com"
+ cl.project = project
+
+ result = self.m.buildbucket.simulated_search_results(
+ [orig_build], "get builders.{}.buildbucket.search".format(name)
+ )
+
+ if skip or age_seconds > MAX_BUILD_AGE_SECONDS:
+ return result
+
+ job = job_pb2.Definition()
+ build = self.m.buildbucket.ci_build_message(
+ priority=34500, project=project, bucket=bucket, builder=name
+ )
+ build.input.properties["recipe"] = recipe
+
+ # Don't inject test data for led steps when not using led, i.e. using
+ # the Buildbucket scheduling codepath.
+ if not using_led:
+ return result
+
+ # It's unrealistic for the get-builder response to have a task ID set,
+ # but the only way of mocking the task ID returned by `led launch` is
+ # to set the task ID on the input to `led launch`, which, for recipe
+ # testing, is the `led get-builder` response.
+ build.infra.swarming.task_id = str(fake_id)
+ job.buildbucket.bbagent_args.build.CopyFrom(build)
+ result += self.m.led.mock_get_builder(
+ job,
+ project=project,
+ bucket=bucket,
+ builder=name,
+ )
+
+ if recipe != "recipes" and not cl_cached:
+ result += self.m.gitiles.log(
+ "get builders.{}.log {}".format(name, cl.project),
+ "A",
+ n=num_log_entries,
+ )
+
+ return result
+
+ def no_build(self, name):
+ return self.m.buildbucket.simulated_search_results(
+ [], "get builders.{}.buildbucket.search".format(name)
+ )
+
+ def affected_recipes_data(
+ self,
+ affected_recipes,
+ recipe_files=None,
+ changed_files=None,
+ error=None,
+ invalid_recipes=(),
+ step_name="get_affected_recipes.recipes-analyze",
+ ):
+ if not recipe_files:
+ recipe_files = ["foo", "flutter.py", "recipes.py", "sdk.expected"]
+ res = self.step_data(
+ "get_affected_recipes.ls-recipes",
+ stdout=self.m.raw_io.output_text(
+ "".join("{}\n".format(x) for x in recipe_files)
+ ),
+ )
+
+ if not changed_files:
+ changed_files = [
+ "recipes/flutter.py",
+ "recipes/foo",
+ "recipes/non_expected_json_file.json",
+ "recipe_modules/foo/examples/full.expected/bar.json",
+ "recipe_modules/foo/examples/full.py",
+ "recipe_modules/foo/test_api.py",
+ ]
+ res += self.m.git.get_changed_files(
+ "get_affected_recipes.git diff-tree",
+ changed_files,
+ )
+
+ output = {
+ "recipes": list(affected_recipes),
+ "error": error or "",
+ "invalidRecipes": list(invalid_recipes),
+ }
+ retcode = -1 if error else 0
+ res += self.step_data(step_name, self.m.json.output(output), retcode=retcode)
+
+ return res
+
+ def task_result(self, task_id, name, failed=False):
+ return self.m.swarming.task_result(
+ id=task_id,
+ name="recipes-cq:%s" % name,
+ state=None if not name else self.m.swarming.TaskState.COMPLETED,
+ failure=failed,
+ )
+
+ def existing_green_tryjobs(self, tryjobs):
+ search_results = []
+ for builder_name in tryjobs:
+ project, bucket, builder = builder_name.split("/")
+ search_results.append(
+ build_pb2.Build(
+ builder=builder_common_pb2.BuilderID(
+ project=project,
+ bucket=bucket,
+ builder=builder,
+ ),
+ create_time=timestamp_pb2.Timestamp(seconds=1527292217),
+ )
+ )
+ return self.m.buildbucket.simulated_search_results(
+ search_results,
+ step_name="get builders.get green tryjobs",
+ )
diff --git a/recipe_modules/recipe_testing/tests/full.expected/depth.json b/recipe_modules/recipe_testing/tests/full.expected/depth.json
new file mode 100644
index 0000000..29c8d5c
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/depth.json
@@ -0,0 +1,51 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "failure": {
+ "humanReason": "recursion limit reached"
+ },
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/excluded.json b/recipe_modules/recipe_testing/tests/full.expected/excluded.json
new file mode 100644
index 0000000..c7583df
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/excluded.json
@@ -0,0 +1,258 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "excluding 3 builders from bucket flutter/try",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@fuchsia/try/cobalt-x64-linux\nfuchsia/try/core.arm64-debug\nfuchsia/try/core.x64-debug@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@flutter@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 0 builds@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/fuchsia_recipe_unaffected.json b/recipe_modules/recipe_testing/tests/full.expected/fuchsia_recipe_unaffected.json
new file mode 100644
index 0000000..8658100
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/fuchsia_recipe_unaffected.json
@@ -0,0 +1,392 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@qemu@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"qemu\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 0 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@cobalt@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/cobalt-x64-linux\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"cobalt\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.arm64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.x64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/no_build_old_build_ignored_build.json b/recipe_modules/recipe_testing/tests/full.expected/no_build_old_build_ignored_build.json
new file mode 100644
index 0000000..80b2117
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/no_build_old_build_ignored_build.json
@@ -0,0 +1,386 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@flutter@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 0 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@cobalt@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/cobalt-x64-linux\", \"project\": \"flutter\"}, \"endTime\": \"2012-04-17T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"cobalt\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.x64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-04-15T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/no_latest_cl.json b/recipe_modules/recipe_testing/tests/full.expected/no_latest_cl.json
new file mode 100644
index 0000000..38f7cbf
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/no_latest_cl.json
@@ -0,0 +1,1799 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@fuchsia@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 2 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.arm64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"200\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@200@https://cr-buildbucket.appspot.com/build/200@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "get-builder",
+ "-adjust-priority",
+ "0",
+ "flutter/try:fuchsia/try/core.arm64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led get-builder",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-name",
+ "recipes-cq:fuchsia/try/core.arm64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n }\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "ls-remote",
+ "--symref",
+ "https://flutter.googlesource.com/flutter",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.git ls-remote --symref HEAD",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "RECIPE_MODULE[fuchsia::gitiles]/resources/tool_manifest.json",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.read manifest",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@{@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"path\": \"path/to/gitiles\",@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"version\": \"version:pinned-version\"@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@}@@@",
+ "@@@STEP_LOG_END@tool_manifest.json@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version",
+ "-ensure-file",
+ "path/to/gitiles version:pinned-version",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:pinned-v\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"path/to/gitiles\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version/gitiles",
+ "log",
+ "-json-output",
+ "/path/to/tmp/json",
+ "-limit",
+ "10",
+ "https://flutter.googlesource.com/flutter",
+ "refs/heads/main"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.log flutter",
+ "timeout": 300.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@[]@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-cr-cl",
+ "https://flutter-review.googlesource.com/c/flutter/+/0/0"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit-cr-cl",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-pa",
+ "$flutter/recipe_testing={\"enabled\": true, \"recipe_depth\": 1}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit (2)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-experiment",
+ "luci.use_realms=true"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit (3)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-recipe-bundle"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit-recipe-bundle",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"agent\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"data\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"cas\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"size_bytes\": \"1337\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"purposes\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.x64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "get-builder",
+ "-adjust-priority",
+ "0",
+ "flutter/try:fuchsia/try/core.x64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led get-builder",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-name",
+ "recipes-cq:fuchsia/try/core.x64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n }\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-cr-cl",
+ "https://flutter-review.googlesource.com/c/flutter/+/0/0"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit-cr-cl",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-pa",
+ "$flutter/recipe_testing={\"enabled\": true, \"recipe_depth\": 1}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit (2)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-experiment",
+ "luci.use_realms=true"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit (3)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-recipe-bundle"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit-recipe-bundle",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"agent\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"data\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"cas\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"size_bytes\": \"1337\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"purposes\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect"
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@2 passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch.fuchsia/try/core.arm64-debug (attempt 0)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LINK@Swarming task@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "launch",
+ "-modernize"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.launch.fuchsia/try/core.arm64-debug (attempt 0).led launch",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"buildbucket\": {\n \"agent\": {\n \"input\": {\n \"data\": {\n \"kitchen-checkout\": {\n \"cas\": {\n \"digest\": {\n \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",\n \"size_bytes\": \"1337\"\n }\n }\n }\n }\n },\n \"purposes\": {\n \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"\n }\n }\n },\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"host_name\": \"example.swarmingserver.appspot.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=200@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch.fuchsia/try/core.x64-debug (attempt 0)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LINK@Swarming task@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "launch",
+ "-modernize"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.launch.fuchsia/try/core.x64-debug (attempt 0).led launch",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"buildbucket\": {\n \"agent\": {\n \"input\": {\n \"data\": {\n \"kitchen-checkout\": {\n \"cas\": {\n \"digest\": {\n \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",\n \"size_bytes\": \"1337\"\n }\n }\n }\n }\n },\n \"purposes\": {\n \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"\n }\n }\n },\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"host\": \"flutter-review.googlesource.com\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"host_name\": \"example.swarmingserver.appspot.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.install infra/tools/luci/swarming",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin",
+ "-ensure-file",
+ "infra/tools/luci/swarming/${platform} swarming_module_pin",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-swarming_module_\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin/swarming",
+ "collect",
+ "-server",
+ "https://example.swarmingserver.appspot.com",
+ "-task-summary-json",
+ "/path/to/tmp/json",
+ "-task-output-stdout",
+ "json",
+ "-verbose",
+ "-eager",
+ "100",
+ "200"
+ ],
+ "cost": {
+ "cpu": 100,
+ "disk": 0,
+ "memory": 50,
+ "net": 0
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.collect",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"100\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_output_root\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_instance\": \"projects/example-project/instances/default_instance\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"hash\": \"24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"size_bytes\": \"73\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"exit_code\": \"0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"resultdb_info\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invocation\": \"invocations/some-inv-name\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": 100@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"200\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_output_root\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_instance\": \"projects/example-project/instances/default_instance\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"hash\": \"24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"size_bytes\": \"73\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"exit_code\": \"0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"resultdb_info\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invocation\": \"invocations/some-inv-name\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": 200@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@task stdout+stderr: recipes-cq:fuchsia/try/core.arm64-debug@hello world!@@@",
+ "@@@STEP_LOG_END@task stdout+stderr: recipes-cq:fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@task stdout+stderr: recipes-cq:fuchsia/try/core.x64-debug@hello world!@@@",
+ "@@@STEP_LOG_END@task stdout+stderr: recipes-cq:fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LINK@task cas outputs: recipes-cq:fuchsia/try/core.arm64-debug@https://cas-viewer.appspot.com/projects/example-project/instances/default_instance/blobs/24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca/73/tree@@@",
+ "@@@STEP_LINK@task cas outputs: recipes-cq:fuchsia/try/core.x64-debug@https://cas-viewer.appspot.com/projects/example-project/instances/default_instance/blobs/24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca/73/tree@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results.recipes-cq:fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results.recipes-cq:fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.passed tasks",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@fuchsia/try/core.arm64-debug (attempt 0)@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@fuchsia/try/core.x64-debug (attempt 0)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@2 passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@attempt 0 (pass)@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@vm-123@https://example.swarmingserver.appspot.com/bot?id=vm-123@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@attempt 0 (pass)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@vm-123@https://example.swarmingserver.appspot.com/bot?id=vm-123@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "flakes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "failures",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 failed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tasks passed"
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/recipe_proto.json b/recipe_modules/recipe_testing/tests/full.expected/recipe_proto.json
new file mode 100644
index 0000000..e292093
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/recipe_proto.json
@@ -0,0 +1,376 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_proto/infra/flutter.proto@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipe_proto/infra/flutter.proto@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@affected recipes@recipes@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_proto/infra/flutter.proto\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipe_proto/infra/flutter.proto\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": []@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes.mark all recipes as affected",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_TEXT@<br/>recipe_proto/infra/flutter.proto@@@",
+ "@@@STEP_SUMMARY_TEXT@because these files were changed:@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 0 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@no recent builds found@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/recipes.json b/recipe_modules/recipe_testing/tests/full.expected/recipes.json
new file mode 100644
index 0000000..76fc0dd
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/recipes.json
@@ -0,0 +1,1006 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/recipes@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@recipes@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 1 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@recipes@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"recipes\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/recipes\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"recipes\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "get-builder",
+ "-adjust-priority",
+ "0",
+ "flutter/try:fuchsia/try/recipes"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led get-builder",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-name",
+ "recipes-cq:fuchsia/try/recipes"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led edit",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"recipes\"\n }\n }\n }\n }\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-cr-cl",
+ "https://flutter-review.googlesource.com/c/recipes/+/123456"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led edit-cr-cl",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"recipes\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/recipes\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"123456\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"1337\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-pa",
+ "$flutter/recipe_testing={\"enabled\": true, \"recipe_depth\": 1}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led edit (2)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"123456\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"1337\",\n \"project\": \"recipes\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"recipes\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/recipes\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"123456\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"1337\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-experiment",
+ "luci.use_realms=true"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led edit (3)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"123456\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"1337\",\n \"project\": \"recipes\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"recipes\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/recipes\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"123456\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"1337\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-recipe-bundle"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.led edit-recipe-bundle",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"123456\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"1337\",\n \"project\": \"recipes\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"recipes\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/recipes\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/recipes\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"agent\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"data\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"cas\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"size_bytes\": \"1337\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"purposes\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"123456\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"1337\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect"
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@fuchsia/try/recipes passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch.fuchsia/try/recipes (attempt 0)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LINK@Swarming task@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "launch",
+ "-modernize"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.launch.fuchsia/try/recipes (attempt 0).led launch",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/recipes\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"buildbucket\": {\n \"agent\": {\n \"input\": {\n \"data\": {\n \"kitchen-checkout\": {\n \"cas\": {\n \"digest\": {\n \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",\n \"size_bytes\": \"1337\"\n }\n }\n }\n }\n },\n \"purposes\": {\n \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"\n }\n }\n },\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"123456\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"1337\",\n \"project\": \"recipes\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"recipes\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/recipes\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"host_name\": \"example.swarmingserver.appspot.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.install infra/tools/luci/swarming",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin",
+ "-ensure-file",
+ "infra/tools/luci/swarming/${platform} swarming_module_pin",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-swarming_module_\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin/swarming",
+ "collect",
+ "-server",
+ "https://example.swarmingserver.appspot.com",
+ "-task-summary-json",
+ "/path/to/tmp/json",
+ "-task-output-stdout",
+ "json",
+ "-verbose",
+ "-eager",
+ "100"
+ ],
+ "cost": {
+ "cpu": 100,
+ "disk": 0,
+ "memory": 50,
+ "net": 0
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.collect",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"100\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_output_root\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_instance\": \"projects/example-project/instances/default_instance\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"hash\": \"24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"size_bytes\": \"73\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"exit_code\": \"0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"recipes-cq:fuchsia/try/recipes\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"resultdb_info\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invocation\": \"invocations/some-inv-name\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": 100@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@task stdout+stderr: recipes-cq:fuchsia/try/recipes@hello world!@@@",
+ "@@@STEP_LOG_END@task stdout+stderr: recipes-cq:fuchsia/try/recipes@@@",
+ "@@@STEP_LINK@task cas outputs: recipes-cq:fuchsia/try/recipes@https://cas-viewer.appspot.com/projects/example-project/instances/default_instance/blobs/24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca/73/tree@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results.recipes-cq:fuchsia/try/recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.passed tasks",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@fuchsia/try/recipes (attempt 0)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@1 passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes.fuchsia/try/recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@attempt 0 (pass)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@vm-123@https://example.swarmingserver.appspot.com/bot?id=vm-123@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "flakes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "failures",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 failed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tasks passed"
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/recipes_cfg.json b/recipe_modules/recipe_testing/tests/full.expected/recipes_cfg.json
new file mode 100644
index 0000000..faccb9a
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/recipes_cfg.json
@@ -0,0 +1,251 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@a@@@",
+ "@@@STEP_LOG_LINE@all recipes@b@@@",
+ "@@@STEP_LOG_LINE@all recipes@c@@@",
+ "@@@STEP_LOG_LINE@all recipes@d@@@",
+ "@@@STEP_LOG_LINE@all recipes@e@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@infra/config/recipes.cfg@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@infra/config/recipes.cfg@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@a@@@",
+ "@@@STEP_LOG_LINE@affected recipes@b@@@",
+ "@@@STEP_LOG_LINE@affected recipes@c@@@",
+ "@@@STEP_LOG_LINE@affected recipes@d@@@",
+ "@@@STEP_LOG_LINE@affected recipes@e@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/a.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/b.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/c.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/d.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/e.py@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"infra/config/recipes.cfg\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"infra/config/recipes.cfg\"], \"recipes\": [\"a\", \"b\", \"c\", \"d\", \"e\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": []@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes.mark all recipes as affected",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_TEXT@<br/>infra/config/recipes.cfg@@@",
+ "@@@STEP_SUMMARY_TEXT@because these files were changed:@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 0 builds@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/recipes_with_buildbucket.json b/recipe_modules/recipe_testing/tests/full.expected/recipes_with_buildbucket.json
new file mode 100644
index 0000000..aeb5b4f
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/recipes_with_buildbucket.json
@@ -0,0 +1,528 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/recipes@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@recipes@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders"
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1000",
+ "-fields",
+ "builder",
+ "-predicate",
+ "{\"createTime\": {\"startTime\": \"2012-05-13T12:53:21Z\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.get green tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@recipes@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"recipes\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/recipes.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/recipes\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"recipes\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch builds",
+ "~followup_annotations": [
+ "@@@STEP_LINK@foo.bar-debug@https://ci.chromium.org/b/8922054662172514000@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "batch",
+ "-host",
+ "cr-buildbucket.appspot.com"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch builds.schedule",
+ "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"foo.bar-debug\", \"project\": \"fuchsia\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"fuchsia\", \"ref\": \"refs/heads/main\"}, \"properties\": {\"$flutter/recipe_testing\": {\"enabled\": true, \"recipe_depth\": 1.0}}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"skip-retry-in-gerrit\", \"value\": \"subbuild\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"responses\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": \"foo.bar-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514000\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@request@{@@@",
+ "@@@STEP_LOG_LINE@request@ \"requests\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": \"foo.bar-debug\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"experimental\": \"NO\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"experiments\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"luci.buildbucket.parent_tracking\": false@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"gitilesCommit\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"host\": \"fuchsia.googlesource.com\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"enabled\": true, @@@",
+ "@@@STEP_LOG_LINE@request@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"parentRunId\": \"fake-task-id\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"tags\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"parent_buildbucket_id\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"skip-retry-in-gerrit\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"subbuild\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"user_agent\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"recipe\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@}@@@",
+ "@@@STEP_LOG_END@request@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds"
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.collect",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "collect",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-interval",
+ "20s",
+ "8922054662172514000"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "collect builds.collect.wait",
+ "timeout": 86400.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "batch",
+ "-host",
+ "cr-buildbucket.appspot.com"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "collect builds.collect.get",
+ "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", \"id\": \"8922054662172514000\"}}]}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"responses\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514000\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"status\": \"SUCCESS\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@request@{@@@",
+ "@@@STEP_LOG_LINE@request@ \"requests\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"8922054662172514000\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@}@@@",
+ "@@@STEP_LOG_END@request@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.check builds",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.check builds.",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/recursive_ls.json b/recipe_modules/recipe_testing/tests/full.expected/recursive_ls.json
new file mode 100644
index 0000000..c2d57aa
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/recursive_ls.json
@@ -0,0 +1,237 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter/flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@abc@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/abc.resources/bar.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/abc.py@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter/flutter\", \"abc\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": []@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/two_pass_one_skip.json b/recipe_modules/recipe_testing/tests/full.expected/two_pass_one_skip.json
new file mode 100644
index 0000000..bb0e710
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/two_pass_one_skip.json
@@ -0,0 +1,2022 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@fuchsia@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@selected 2 builds@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@cobalt@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/cobalt-x64-linux\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"cobalt\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.arm64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"200\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@200@https://cr-buildbucket.appspot.com/build/200@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "get-builder",
+ "-adjust-priority",
+ "0",
+ "flutter/try:fuchsia/try/core.arm64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led get-builder",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-name",
+ "recipes-cq:fuchsia/try/core.arm64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n }\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "ls-remote",
+ "--symref",
+ "https://flutter.googlesource.com/flutter",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.git ls-remote --symref HEAD",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "RECIPE_MODULE[fuchsia::gitiles]/resources/tool_manifest.json",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.read manifest",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@{@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"path\": \"path/to/gitiles\",@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"version\": \"version:pinned-version\"@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@}@@@",
+ "@@@STEP_LOG_END@tool_manifest.json@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version",
+ "-ensure-file",
+ "path/to/gitiles version:pinned-version",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gitiles.install path/to/gitiles.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:pinned-v\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"path/to/gitiles\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/path/to/gitiles/version%3Apinned-version/gitiles",
+ "log",
+ "-json-output",
+ "/path/to/tmp/json",
+ "-limit",
+ "10",
+ "https://flutter.googlesource.com/flutter",
+ "refs/heads/main"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.log flutter",
+ "timeout": 300.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@[@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"author\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"email\": \"fake_A@fake_0.email.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fake A\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"committer\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"email\": \"fake_A@fake_0.email.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fake A\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"3e30158f2a7caccb7a9f6632a60011e7a44e1e5c\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"message\": \"fake A msg 0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"parents\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"83a7614b3b60951511be50db1b9561daff4bb447\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"tree\": \"1b6412b24ec3add84836c8fdd1af5ac8e35b61d9\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"tree_diff\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"new_id\": \"8bea05ad53680fce6937543f0d98cd48e295b8ff\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"new_mode\": 33188, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"new_path\": \"a.py\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"old_mode\": 0, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"type\": \"add\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@]@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gerrit",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "RECIPE_MODULE[fuchsia::gerrit]/resources/tool_manifest.json",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gerrit.read manifest",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@{@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"path\": \"path/to/gerrit\",@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@ \"version\": \"version:pinned-version\"@@@",
+ "@@@STEP_LOG_LINE@tool_manifest.json@}@@@",
+ "@@@STEP_LOG_END@tool_manifest.json@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gerrit.install path/to/gerrit",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/path/to/gerrit/version%3Apinned-version"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gerrit.install path/to/gerrit.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/path/to/gerrit/version%3Apinned-version",
+ "-ensure-file",
+ "path/to/gerrit version:pinned-version",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.ensure gerrit.install path/to/gerrit.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:pinned-v\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"path/to/gerrit\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/path/to/gerrit/version%3Apinned-version/gerrit",
+ "change-detail",
+ "-host",
+ "https://flutter-review.googlesource.com",
+ "-input",
+ "{\"change_id\": \"3e30158f2a7caccb7a9f6632a60011e7a44e1e5c\", \"params\": {\"o\": [\"CURRENT_REVISION\"]}}",
+ "-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.latest change details for flutter",
+ "timeout": 600,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"_number\": 12345, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"current_revision\": \"5555555555555555555555555555555555555555\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revisions\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"5555555555555555555555555555555555555555\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"_number\": 6@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@json.input@{@@@",
+ "@@@STEP_LOG_LINE@json.input@ \"change_id\": \"3e30158f2a7caccb7a9f6632a60011e7a44e1e5c\", @@@",
+ "@@@STEP_LOG_LINE@json.input@ \"params\": {@@@",
+ "@@@STEP_LOG_LINE@json.input@ \"o\": [@@@",
+ "@@@STEP_LOG_LINE@json.input@ \"CURRENT_REVISION\"@@@",
+ "@@@STEP_LOG_LINE@json.input@ ]@@@",
+ "@@@STEP_LOG_LINE@json.input@ }@@@",
+ "@@@STEP_LOG_LINE@json.input@}@@@",
+ "@@@STEP_LOG_END@json.input@@@",
+ "@@@STEP_LINK@gerrit link@https://flutter-review.googlesource.com/q/3e30158f2a7caccb7a9f6632a60011e7a44e1e5c@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-cr-cl",
+ "https://flutter-review.googlesource.com/c/flutter/+/12345/6"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit-cr-cl",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-pa",
+ "$flutter/recipe_testing={\"enabled\": true, \"recipe_depth\": 1}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit (2)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-experiment",
+ "luci.use_realms=true"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit (3)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-recipe-bundle"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.led edit-recipe-bundle",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.arm64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"agent\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"data\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"cas\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"size_bytes\": \"1337\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"purposes\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.x64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "get-builder",
+ "-adjust-priority",
+ "0",
+ "flutter/try:fuchsia/try/core.x64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led get-builder",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-name",
+ "recipes-cq:fuchsia/try/core.x64-debug"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n }\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-cr-cl",
+ "https://flutter-review.googlesource.com/c/flutter/+/12345/6"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit-cr-cl",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-pa",
+ "$flutter/recipe_testing={\"enabled\": true, \"recipe_depth\": 1}"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit (2)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit",
+ "-experiment",
+ "luci.use_realms=true"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit (3)",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "edit-recipe-bundle"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.led edit-recipe-bundle",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@proto.output@{@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bbagent_args\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"builder\": \"fuchsia/try/core.x64-debug\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"create_time\": \"2018-05-25T23:50:17Z\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"infra\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"buildbucket\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"agent\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"data\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"cas\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"size_bytes\": \"1337\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"purposes\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"resultdb\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"invocation\": \"invocations/build:8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"priority\": 34500,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"input\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gerrit_changes\": [@@@",
+ "@@@STEP_LOG_LINE@proto.output@ {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"change\": \"12345\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"patchset\": \"6\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ ],@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"gitiles_commit\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"host\": \"chromium.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"project\": \"flutter\",@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"enabled\": true,@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"recipe\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@ },@@@",
+ "@@@STEP_LOG_LINE@proto.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"@@@",
+ "@@@STEP_LOG_LINE@proto.output@ }@@@",
+ "@@@STEP_LOG_LINE@proto.output@}@@@",
+ "@@@STEP_LOG_END@proto.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect"
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@2 passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch.fuchsia/try/core.arm64-debug (attempt 0)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LINK@Swarming task@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "launch",
+ "-modernize"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.launch.fuchsia/try/core.arm64-debug (attempt 0).led launch",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.arm64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"buildbucket\": {\n \"agent\": {\n \"input\": {\n \"data\": {\n \"kitchen-checkout\": {\n \"cas\": {\n \"digest\": {\n \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",\n \"size_bytes\": \"1337\"\n }\n }\n }\n }\n },\n \"purposes\": {\n \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"\n }\n }\n },\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"200\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"host_name\": \"example.swarmingserver.appspot.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"200\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=200@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.launch.fuchsia/try/core.x64-debug (attempt 0)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LINK@Swarming task@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "led",
+ "launch",
+ "-modernize"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.launch.fuchsia/try/core.x64-debug (attempt 0).led launch",
+ "stdin": "{\n \"buildbucket\": {\n \"bbagent_args\": {\n \"build\": {\n \"builder\": {\n \"bucket\": \"try\",\n \"builder\": \"fuchsia/try/core.x64-debug\",\n \"project\": \"flutter\"\n },\n \"create_time\": \"2018-05-25T23:50:17Z\",\n \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\",\n \"id\": \"8945511751514863184\",\n \"infra\": {\n \"buildbucket\": {\n \"agent\": {\n \"input\": {\n \"data\": {\n \"kitchen-checkout\": {\n \"cas\": {\n \"digest\": {\n \"hash\": \"9095eb4fe66a5a67626c5af808e1298598a94bfc48e07c7232161b1128bac0be\",\n \"size_bytes\": \"1337\"\n }\n }\n }\n }\n },\n \"purposes\": {\n \"kitchen-checkout\": \"PURPOSE_EXE_PAYLOAD\"\n }\n }\n },\n \"resultdb\": {\n \"invocation\": \"invocations/build:8945511751514863184\"\n },\n \"swarming\": {\n \"priority\": 34500,\n \"task_id\": \"100\"\n }\n },\n \"input\": {\n \"gerrit_changes\": [\n {\n \"change\": \"12345\",\n \"host\": \"flutter-review.googlesource.com\",\n \"patchset\": \"6\",\n \"project\": \"flutter\"\n }\n ],\n \"gitiles_commit\": {\n \"host\": \"chromium.googlesource.com\",\n \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\",\n \"project\": \"flutter\",\n \"ref\": \"refs/heads/main\"\n },\n \"properties\": {\n \"$flutter/recipe_testing\": {\n \"enabled\": true,\n \"recipe_depth\": 1.0\n },\n \"recipe\": \"fuchsia\"\n }\n }\n }\n },\n \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\"\n }\n}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@4@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"host_name\": \"example.swarmingserver.appspot.com\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"100\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LINK@Swarming task@https://example.swarmingserver.appspot.com/task?id=100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.install infra/tools/luci/swarming",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure package directory",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin",
+ "-ensure-file",
+ "infra/tools/luci/swarming/${platform} swarming_module_pin",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.install infra/tools/luci/swarming.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-swarming_module_\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/cipd_tool/infra/tools/luci/swarming/swarming_module_pin/swarming",
+ "collect",
+ "-server",
+ "https://example.swarmingserver.appspot.com",
+ "-task-summary-json",
+ "/path/to/tmp/json",
+ "-task-output-stdout",
+ "json",
+ "-verbose",
+ "-eager",
+ "100",
+ "200"
+ ],
+ "cost": {
+ "cpu": 100,
+ "disk": 0,
+ "memory": 50,
+ "net": 0
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch/collect.0.collect",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"100\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_output_root\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_instance\": \"projects/example-project/instances/default_instance\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"hash\": \"24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"size_bytes\": \"73\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"exit_code\": \"0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"recipes-cq:fuchsia/try/core.x64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"resultdb_info\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invocation\": \"invocations/some-inv-name\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": 100@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"200\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"outputs\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bot_id\": \"vm-123\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_output_root\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"cas_instance\": \"projects/example-project/instances/default_instance\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"digest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"hash\": \"24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"size_bytes\": \"73\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"exit_code\": \"0\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"recipes-cq:fuchsia/try/core.arm64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"resultdb_info\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invocation\": \"invocations/some-inv-name\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"task_id\": 200@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@task stdout+stderr: recipes-cq:fuchsia/try/core.arm64-debug@hello world!@@@",
+ "@@@STEP_LOG_END@task stdout+stderr: recipes-cq:fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@task stdout+stderr: recipes-cq:fuchsia/try/core.x64-debug@hello world!@@@",
+ "@@@STEP_LOG_END@task stdout+stderr: recipes-cq:fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LINK@task cas outputs: recipes-cq:fuchsia/try/core.arm64-debug@https://cas-viewer.appspot.com/projects/example-project/instances/default_instance/blobs/24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca/73/tree@@@",
+ "@@@STEP_LINK@task cas outputs: recipes-cq:fuchsia/try/core.x64-debug@https://cas-viewer.appspot.com/projects/example-project/instances/default_instance/blobs/24b2420bc49d8b8fdc1d011a163708927532b37dc9f91d7d8d6877e3a86559ca/73/tree@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results.recipes-cq:fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.process results.recipes-cq:fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@3@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch/collect.0.passed tasks",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@fuchsia/try/core.arm64-debug (attempt 0)@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@fuchsia/try/core.x64-debug (attempt 0)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@2 passed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@attempt 0 (pass)@https://luci-milo.appspot.com/swarming/task/200?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@vm-123@https://example.swarmingserver.appspot.com/bot?id=vm-123@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "passes.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LINK@attempt 0 (pass)@https://luci-milo.appspot.com/swarming/task/100?server=example.swarmingserver.appspot.com@@@",
+ "@@@STEP_LINK@vm-123@https://example.swarmingserver.appspot.com/bot?id=vm-123@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "flakes",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 flaked@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "failures",
+ "~followup_annotations": [
+ "@@@STEP_SUMMARY_TEXT@0 failed@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tasks passed"
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.expected/with_buildbucket.json b/recipe_modules/recipe_testing/tests/full.expected/with_buildbucket.json
new file mode 100644
index 0000000..a3dc6cb
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.expected/with_buildbucket.json
@@ -0,0 +1,702 @@
+[
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "lint",
+ "--allowlist",
+ "allowed_module"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "lint"
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "test",
+ "run"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "test"
+ },
+ {
+ "cmd": [],
+ "name": "fetch flutter commit-queue.cfg"
+ },
+ {
+ "cmd": [
+ "luci-auth",
+ "token",
+ "-lifetime",
+ "3m"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get access token for default account",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::url]/resources/pycurl.py",
+ "--url",
+ "https://luci-config.appspot.com/_ah/api/config/v1/config_sets/projects/flutter/config/commit-queue.cfg",
+ "--status-json",
+ "/path/to/tmp/json",
+ "--outfile",
+ "/path/to/tmp/json",
+ "--headers-json",
+ "{\"Authorization\": \"Bearer extra.secret.token.should.not.be.logged\"}"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "fetch flutter commit-queue.cfg.get",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "all tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/cobalt-x64-linux@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.arm64-debug@@@",
+ "@@@STEP_LOG_LINE@tryjobs@fuchsia/try/core.x64-debug@@@",
+ "@@@STEP_LOG_END@tryjobs@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get_affected_recipes",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
+ "@@@STEP_LOG_LINE@all recipes@recipes@@@",
+ "@@@STEP_LOG_END@all recipes@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
+ "@@@STEP_LOG_END@changed files (raw)@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
+ "@@@STEP_LOG_END@changed files (filtered)@@@",
+ "@@@STEP_LOG_LINE@affected recipes@fuchsia@@@",
+ "@@@STEP_LOG_END@affected recipes@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "listdir",
+ "[START_DIR]/recipe_path/recipes",
+ "--recursive"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.ls-recipes",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/foo@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/flutter.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/recipes.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipe_path/recipes/sdk.expected@@@",
+ "@@@STEP_LOG_END@listdir@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "diff-tree",
+ "--no-commit-id",
+ "--name-only",
+ "-r",
+ "-z",
+ "HEAD"
+ ],
+ "cwd": "[START_DIR]/recipe_path",
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.git diff-tree",
+ "timeout": 60.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@files@[@@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/test_api.py\"@@@",
+ "@@@STEP_LOG_LINE@files@]@@@",
+ "@@@STEP_LOG_END@files@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/recipe_path/recipes.py",
+ "analyze",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
+ "/path/to/tmp/json"
+ ],
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get_affected_recipes.recipes-analyze",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"error\": \"\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"invalidRecipes\": [], @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"recipes\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders"
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1000",
+ "-fields",
+ "builder",
+ "-predicate",
+ "{\"createTime\": {\"startTime\": \"2012-05-13T12:53:21Z\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.get green tryjobs",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-release\", \"project\": \"fuchsia\"}, \"createTime\": \"2018-05-25T23:50:17Z\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@0@https://cr-buildbucket.appspot.com/build/8945511751514863184@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/cobalt-x64-linux",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@skipped@@@",
+ "@@@STEP_LOG_LINE@recipe_used@cobalt@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"cobalt-x64-linux\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/cobalt-x64-linux.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/cobalt-x64-linux\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"cobalt\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.arm64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.arm64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.arm64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"200\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@200@https://cr-buildbucket.appspot.com/build/200@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "get builders.fuchsia/try/core.x64-debug",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_SUMMARY_TEXT@SELECTED@@@",
+ "@@@STEP_LOG_LINE@recipe_used@fuchsia@@@",
+ "@@@STEP_LOG_END@recipe_used@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "ls",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-json",
+ "-nopage",
+ "-n",
+ "1",
+ "-fields",
+ "builder,create_time,created_by,critical,end_time,id,infra,input,number,output,start_time,status,update_time",
+ "-predicate",
+ "{\"builder\": {\"bucket\": \"try\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"status\": \"SUCCESS\"}"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "get builders.fuchsia/try/core.x64-debug.buildbucket.search",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"fuchsia/try/core.x64-debug\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"fuchsia\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_END@raw_io.output_text@@@",
+ "@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "launch builds",
+ "~followup_annotations": [
+ "@@@STEP_LINK@core.arm64-debug@https://ci.chromium.org/b/8922054662172514000@@@",
+ "@@@STEP_LINK@core.x64-debug@https://ci.chromium.org/b/8922054662172514001@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "batch",
+ "-host",
+ "cr-buildbucket.appspot.com"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "launch builds.schedule",
+ "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"core.arm64-debug\", \"project\": \"fuchsia\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"fuchsia\", \"ref\": \"refs/heads/main\"}, \"properties\": {\"$flutter/recipe_testing\": {\"enabled\": true, \"recipe_depth\": 1.0}}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"skip-retry-in-gerrit\", \"value\": \"subbuild\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"ci\", \"builder\": \"core.x64-debug\", \"project\": \"fuchsia\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", \"project\": \"fuchsia\", \"ref\": \"refs/heads/main\"}, \"properties\": {\"$flutter/recipe_testing\": {\"enabled\": true, \"recipe_depth\": 1.0}}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133a\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"skip-retry-in-gerrit\", \"value\": \"subbuild\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"responses\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": \"core.arm64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514000\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": \"core.x64-debug\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514001\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@request@{@@@",
+ "@@@STEP_LOG_LINE@request@ \"requests\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": \"core.arm64-debug\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"experimental\": \"NO\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"experiments\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"luci.buildbucket.parent_tracking\": false@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"gitilesCommit\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"host\": \"fuchsia.googlesource.com\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"enabled\": true, @@@",
+ "@@@STEP_LOG_LINE@request@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"parentRunId\": \"fake-task-id\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"tags\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"parent_buildbucket_id\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"skip-retry-in-gerrit\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"subbuild\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"user_agent\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"recipe\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"bucket\": \"ci\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": \"core.x64-debug\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"experimental\": \"NO\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"experiments\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"luci.buildbucket.parent_tracking\": false@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"gitilesCommit\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"host\": \"fuchsia.googlesource.com\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"2d72510e447ab60a9728aeea2362d8be2cbd7789\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"fuchsia\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"$flutter/recipe_testing\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"enabled\": true, @@@",
+ "@@@STEP_LOG_LINE@request@ \"recipe_depth\": 1.0@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133a\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"parentRunId\": \"fake-task-id\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"tags\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"parent_buildbucket_id\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"skip-retry-in-gerrit\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"subbuild\"@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"user_agent\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"recipe\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@}@@@",
+ "@@@STEP_LOG_END@request@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@",
+ "@@@STEP_LINK@8922054662172514001@https://cr-buildbucket.appspot.com/build/8922054662172514001@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds"
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.collect",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "collect",
+ "-host",
+ "cr-buildbucket.appspot.com",
+ "-interval",
+ "20s",
+ "8922054662172514000",
+ "8922054662172514001"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "collect builds.collect.wait",
+ "timeout": 86400.0,
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "batch",
+ "-host",
+ "cr-buildbucket.appspot.com"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "fuchsia:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "collect builds.collect.get",
+ "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", \"id\": \"8922054662172514000\"}}, {\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", \"id\": \"8922054662172514001\"}}]}",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"responses\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514000\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"status\": \"SUCCESS\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514001\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"status\": \"SUCCESS\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@request@{@@@",
+ "@@@STEP_LOG_LINE@request@ \"requests\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"8922054662172514000\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,infra.swarming.taskId,input,number,output,startTime,status,summaryMarkdown,updateTime\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"8922054662172514001\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@}@@@",
+ "@@@STEP_LOG_END@request@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@",
+ "@@@STEP_LINK@8922054662172514001@https://cr-buildbucket.appspot.com/build/8922054662172514001@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.check builds",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.check builds.",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@8922054662172514000@https://cr-buildbucket.appspot.com/build/8922054662172514000@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "collect builds.check builds. (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_LINK@8922054662172514001@https://cr-buildbucket.appspot.com/build/8922054662172514001@@@"
+ ]
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/recipe_testing/tests/full.proto b/recipe_modules/recipe_testing/tests/full.proto
new file mode 100644
index 0000000..51f8064
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.proto
@@ -0,0 +1,14 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto3";
+
+package recipe_modules.flutter.recipe_testing.tests;
+
+import "recipe_modules/flutter/recipe_testing/options.proto";
+
+message InputProperties {
+ // Checkout module options.
+ recipe_modules.flutter.recipe_testing.Options recipe_testing_options = 1;
+}
diff --git a/recipe_modules/recipe_testing/tests/full.py b/recipe_modules/recipe_testing/tests/full.py
new file mode 100644
index 0000000..ad2fcbe
--- /dev/null
+++ b/recipe_modules/recipe_testing/tests/full.py
@@ -0,0 +1,211 @@
+# 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.
+"""API for recipe_engine testing."""
+
+import datetime
+
+from recipe_engine import post_process
+from PB.recipe_modules.flutter.recipe_testing.tests.full import InputProperties
+
+DEPS = [
+ "fuchsia/buildbucket_util",
+ "fuchsia/commit_queue",
+ "flutter/recipe_testing",
+ "fuchsia/swarming_retry",
+ "recipe_engine/path",
+ "recipe_engine/properties",
+]
+
+ONE_DAY = int(datetime.timedelta(days=1).total_seconds())
+MAX_BUILD_AGE_SECONDS = int(datetime.timedelta(days=28).total_seconds())
+
+PROPERTIES = InputProperties
+
+
+def RunSteps(api, props): # pylint: disable=invalid-name
+ recipes_path = api.path["start_dir"].join("recipe_path")
+
+ api.recipe_testing.run_lint(recipes_path, allowlist=r"allowed_module")
+ api.recipe_testing.run_unit_tests(recipes_path)
+
+ selftest_cl = "https://flutter-review.googlesource.com/c/recipes/+/123456"
+ selftest_builder = "flutter/try/foo.bar-debug"
+ api.recipe_testing.run_tests(
+ recipes_path,
+ selftest_cl,
+ props.recipe_testing_options,
+ selftest_builder=selftest_builder,
+ )
+
+
+def GenTests(api): # pylint: disable=invalid-name
+
+ test = api.recipe_testing
+
+ project = "flutter"
+
+ yield (
+ api.buildbucket_util.test("recursive_ls")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project, "empty")
+ + test.affected_recipes_data(
+ affected_recipes=[],
+ recipe_files=["flutter/flutter.py", "abc.resources/bar.py", "abc.py"],
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("recipes_cfg")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project, "empty")
+ + test.affected_recipes_data(
+ affected_recipes=[],
+ recipe_files=["a.py", "b.py", "c.py", "d.py", "e.py"],
+ changed_files=["infra/config/recipes.cfg"],
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("recipe_proto")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(
+ affected_recipes=[],
+ changed_files=["recipe_proto/infra/flutter.proto"],
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("no_build_old_build_ignored_build")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["flutter"])
+ + test.build_data(
+ "fuchsia/try/cobalt-x64-linux",
+ "cobalt",
+ age_seconds=MAX_BUILD_AGE_SECONDS - ONE_DAY,
+ skip=True,
+ )
+ + test.build_data(
+ "fuchsia/try/core.x64-debug",
+ "fuchsia",
+ age_seconds=MAX_BUILD_AGE_SECONDS + ONE_DAY,
+ )
+ + test.no_build("fuchsia/try/core.arm64-debug")
+ )
+
+ yield (
+ api.buildbucket_util.test("excluded")
+ + api.recipe_testing.options(
+ [api.recipe_testing.project(excluded_buckets=("try",))]
+ )
+ + api.properties(ignored_buckets=["try"])
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["flutter"])
+ + api.post_process(
+ post_process.MustRun,
+ "excluding 3 builders from bucket flutter/try",
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("two_pass_one_skip")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["fuchsia"])
+ + test.build_data("fuchsia/try/cobalt-x64-linux", "cobalt", skip=True)
+ + test.build_data(
+ "fuchsia/try/core.x64-debug", "fuchsia", cl_cached=True, fake_id=100
+ )
+ + test.build_data("fuchsia/try/core.arm64-debug", "fuchsia", fake_id=200)
+ + api.swarming_retry.collect_data(
+ [
+ test.task_result(100, "fuchsia/try/core.x64-debug"),
+ test.task_result(200, "fuchsia/try/core.arm64-debug"),
+ ]
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("fuchsia_recipe_unaffected")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["qemu"])
+ + test.build_data("fuchsia/try/cobalt-x64-linux", "cobalt", skip=True)
+ + test.build_data("fuchsia/try/core.x64-debug", "fuchsia", skip=True)
+ + test.build_data("fuchsia/try/core.arm64-debug", "fuchsia", skip=True)
+ )
+
+ yield (
+ api.buildbucket_util.test("recipes")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project, "recipes-only")
+ + test.affected_recipes_data(["recipes"])
+ + test.build_data("fuchsia/try/recipes", "recipes")
+ + api.swarming_retry.collect_data(
+ [test.task_result(100, "fuchsia/try/recipes")]
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("with_buildbucket")
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["fuchsia"])
+ + test.build_data(
+ "fuchsia/try/cobalt-x64-linux", "cobalt", skip=True, using_led=False
+ )
+ + test.build_data(
+ "fuchsia/try/core.x64-debug",
+ "fuchsia",
+ cl_cached=True,
+ fake_id=100,
+ using_led=False,
+ )
+ + test.build_data(
+ "fuchsia/try/core.arm64-debug",
+ "fuchsia",
+ fake_id=200,
+ using_led=False,
+ )
+ + test.existing_green_tryjobs(["fuchsia/try/core.arm64-release"])
+ # This line only affects coverage. It's sufficiently tested in other
+ # modules that use this module.
+ + api.recipe_testing.options(
+ use_buildbucket=True,
+ projects=(api.recipe_testing.project(),),
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("recipes_with_buildbucket")
+ + api.commit_queue.test_data(project, "recipes-only")
+ + test.affected_recipes_data(["recipes"])
+ + test.build_data("fuchsia/try/recipes", "recipes", using_led=False)
+ + api.recipe_testing.options(use_buildbucket=True)
+ )
+
+ yield (
+ api.buildbucket_util.test("no_latest_cl")
+ + api.recipe_testing.options()
+ + api.commit_queue.test_data(project)
+ + test.affected_recipes_data(["fuchsia"])
+ + test.build_data("fuchsia/try/core.x64-debug", "fuchsia", cl_cached=True)
+ + test.build_data(
+ "fuchsia/try/core.arm64-debug",
+ "fuchsia",
+ num_log_entries=0,
+ fake_id=200,
+ )
+ + api.swarming_retry.collect_data(
+ [
+ test.task_result(100, "fuchsia/try/core.x64-debug"),
+ test.task_result(200, "fuchsia/try/core.arm64-debug"),
+ ]
+ )
+ )
+
+ yield (
+ api.buildbucket_util.test("depth", status="infra_failure")
+ + api.properties(**{"$flutter/recipe_testing": {"recipe_depth": 2}})
+ )
diff --git a/recipes/recipes.expected/ci.json b/recipes/recipes.expected/ci.json
index 09a055c..c1c6a3b 100644
--- a/recipes/recipes.expected/ci.json
+++ b/recipes/recipes.expected/ci.json
@@ -1523,17 +1523,17 @@
"cmd": [],
"name": "get_affected_recipes",
"~followup_annotations": [
- "@@@STEP_LOG_LINE@all recipes@fuchsia@@@",
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
"@@@STEP_LOG_LINE@all recipes@recipes@@@",
"@@@STEP_LOG_END@all recipes@@@",
- "@@@STEP_LOG_LINE@changed files (raw)@recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
"@@@STEP_LOG_END@changed files (raw)@@@",
- "@@@STEP_LOG_LINE@changed files (filtered)@recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
"@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
"@@@STEP_LOG_END@changed files (filtered)@@@",
@@ -1569,7 +1569,7 @@
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/foo@@@",
- "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/recipes.py@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/sdk.expected@@@",
"@@@STEP_LOG_END@listdir@@@"
@@ -1603,7 +1603,7 @@
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@files@[@@@",
- "@@@STEP_LOG_LINE@files@ \"recipes/fuchsia.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
@@ -1617,7 +1617,7 @@
"cmd": [
"[START_DIR]/recipes/recipes.py",
"analyze",
- "{\"files\": [\"recipes/fuchsia.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"fuchsia\", \"recipes\"]}",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
"/path/to/tmp/json"
],
"luci_context": {
@@ -1694,7 +1694,7 @@
"name": "get builders.flutter/try/flutter-bar.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-bar\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-bar\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
@@ -1741,7 +1741,7 @@
"name": "get builders.flutter/try/flutter-baz.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-baz\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"project\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-baz\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"project\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
@@ -1788,7 +1788,7 @@
"name": "get builders.flutter/try/flutter-foo.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-foo\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-foo\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index 09a055c..c1c6a3b 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -1523,17 +1523,17 @@
"cmd": [],
"name": "get_affected_recipes",
"~followup_annotations": [
- "@@@STEP_LOG_LINE@all recipes@fuchsia@@@",
+ "@@@STEP_LOG_LINE@all recipes@flutter@@@",
"@@@STEP_LOG_LINE@all recipes@recipes@@@",
"@@@STEP_LOG_END@all recipes@@@",
- "@@@STEP_LOG_LINE@changed files (raw)@recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@changed files (raw)@recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipes/foo@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipes/non_expected_json_file.json@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.expected/bar.json@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/examples/full.py@@@",
"@@@STEP_LOG_LINE@changed files (raw)@recipe_modules/foo/test_api.py@@@",
"@@@STEP_LOG_END@changed files (raw)@@@",
- "@@@STEP_LOG_LINE@changed files (filtered)@recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@changed files (filtered)@recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@changed files (filtered)@recipes/foo@@@",
"@@@STEP_LOG_LINE@changed files (filtered)@recipes/non_expected_json_file.json@@@",
"@@@STEP_LOG_END@changed files (filtered)@@@",
@@ -1569,7 +1569,7 @@
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/foo@@@",
- "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/fuchsia.py@@@",
+ "@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/flutter.py@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/recipes.py@@@",
"@@@STEP_LOG_LINE@listdir@[START_DIR]/recipes/recipes/sdk.expected@@@",
"@@@STEP_LOG_END@listdir@@@"
@@ -1603,7 +1603,7 @@
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@files@[@@@",
- "@@@STEP_LOG_LINE@files@ \"recipes/fuchsia.py\", @@@",
+ "@@@STEP_LOG_LINE@files@ \"recipes/flutter.py\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipes/foo\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipes/non_expected_json_file.json\", @@@",
"@@@STEP_LOG_LINE@files@ \"recipe_modules/foo/examples/full.expected/bar.json\", @@@",
@@ -1617,7 +1617,7 @@
"cmd": [
"[START_DIR]/recipes/recipes.py",
"analyze",
- "{\"files\": [\"recipes/fuchsia.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"fuchsia\", \"recipes\"]}",
+ "{\"files\": [\"recipes/flutter.py\", \"recipes/foo\", \"recipes/non_expected_json_file.json\"], \"recipes\": [\"flutter\", \"recipes\"]}",
"/path/to/tmp/json"
],
"luci_context": {
@@ -1694,7 +1694,7 @@
"name": "get builders.flutter/try/flutter-bar.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-bar\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-bar\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
@@ -1741,7 +1741,7 @@
"name": "get builders.flutter/try/flutter-baz.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-baz\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"project\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-baz\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"project\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
@@ -1788,7 +1788,7 @@
"name": "get builders.flutter/try/flutter-foo.buildbucket.search",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
- "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-foo\", \"project\": \"fuchsia\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"fuchsia-review.googlesource.com\", \"project\": \"fuchsia\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
+ "@@@STEP_LOG_LINE@raw_io.output_text@{\"builder\": {\"bucket\": \"try\", \"builder\": \"flutter/try/flutter-foo\", \"project\": \"flutter\"}, \"endTime\": \"2012-05-13T12:53:20Z\", \"id\": \"100\", \"input\": {\"gerritChanges\": [{\"host\": \"flutter-review.googlesource.com\", \"project\": \"flutter\"}], \"properties\": {\"recipe\": \"flutter\"}}, \"status\": \"SUCCESS\"}@@@",
"@@@STEP_LOG_END@raw_io.output_text@@@",
"@@@STEP_LINK@100@https://cr-buildbucket.appspot.com/build/100@@@"
]
diff --git a/recipes/recipes.py b/recipes/recipes.py
index 2938ef8..648cb83 100755
--- a/recipes/recipes.py
+++ b/recipes/recipes.py
@@ -8,16 +8,16 @@
import attr
-from PB.recipe_modules.fuchsia.recipe_testing import options as options_pb2
+from PB.recipe_modules.flutter.recipe_testing import options as options_pb2
from recipe_engine.recipe_api import Property
DEPS = [
+ 'flutter/recipe_testing',
'fuchsia/commit_queue',
+ 'fuchsia/gerrit',
'fuchsia/git',
'fuchsia/git_checkout',
- 'fuchsia/recipe_testing',
'fuchsia/status_check',
- 'fuchsia/gerrit',
'recipe_engine/buildbucket',
'recipe_engine/context',
'recipe_engine/json',