blob: 858e7e005aa8a68769d9827d00e093d905a306a8 [file] [log] [blame]
# -*- coding: utf-8 -*-
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# 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 __future__ import print_function
from chromite.lib import parallel
from chromite.cbuildbot.builders import simple_builders
from chromite.cbuildbot.stages import build_stages
from chromite.cbuildbot.stages import release_stages
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.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])