blob: c893a9ca8538f99a18c95f25e9fcb916684478ad [file] [log] [blame]
# Copyright 2015 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Module containing release engineering related builders."""
from chromite.cbuildbot.builders import simple_builders
from chromite.cbuildbot.stages import build_stages
from chromite.cbuildbot.stages import release_stages
from chromite.lib import parallel
class GeneratePayloadsBuilder(simple_builders.SimpleBuilder):
"""Run the PaygenStage once for each board."""
def RunStages(self):
"""Runs through build process."""
def _RunStageWrapper(board):
self._RunStage(build_stages.UprevStage)
self._RunStage(build_stages.InitSDKStage)
self._RunStage(
release_stages.PaygenStage,
board=board,
channels=self._run.options.channels,
)
with parallel.BackgroundTaskRunner(_RunStageWrapper) as queue:
for board in self._run.config.boards:
queue.put([board])