blob: aa5ff0b5dd792090089f5e8ecc248d6172f7930d [file] [log] [blame]
# Copyright 2019 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.
"""Recipe for triggering buildbucket builds."""
from recipe_engine.config import List
from recipe_engine.recipe_api import Property
DEPS = [
'recipe_engine/buildbucket',
'recipe_engine/properties',
'recipe_engine/raw_io',
'recipe_engine/step',
'recipe_engine/swarming',
]
PROPERTIES = {
'builders':
Property(
kind=List(basestring),
help='List of builders to trigger',
default=[]),
'interval':
Property(
kind=int, help='Delay between requests when waiting', default=None),
'timeout':
Property(
kind=int, help='Time to wait for the builds to end', default=None),
}
def RunSteps(api, builders, interval, timeout):
api.buildbucket.run(
[
api.buildbucket.schedule_request(
builder, swarming_parent_run_id=api.swarming.task_id)
for builder in builders
],
collect_interval=interval,
timeout=timeout,
)
def GenTests(api):
yield (api.test('default') + api.buildbucket.ci_build(
bucket='ci',
git_repo='https://fuchsia.googlesource.com/example',
revision='a' * 40,
) + api.properties(builders=['builder']))