blob: d532e75db0e1eb8efd4364ed7c7ddbedd90f2d93 [file] [log] [blame] [edit]
"""Recipe for running a CCStudio build on the given device."""
import os
from slave import base_recipe
from slave.step import ccstudio_step
from slave.step import py_env_setup_step
def GetValidBuildNames():
"""Get all valid build names."""
return ['abbey-eng', 'abbey-user']
def CreateRecipe(build_name: str, **kwargs):
"""Build a recipe object."""
return CCStudioRecipe(build_name, **kwargs)
class CCStudioRecipe(base_recipe.BaseRecipe):
"""Recipe to run CCStudio build."""
def __init__(self, build_name, **kwargs):
prop = kwargs.get('properties', {})
prop['skip_gclient'] = True
if 'properties' not in kwargs:
kwargs['properties'] = prop
base_recipe.BaseRecipe.__init__(self, **kwargs)
self._build_name = build_name
def get_steps(self):
requirements_project = 'abbey'
requirements_path = os.path.join('build', 'requirements.txt')
abbey_python_packages = 'team-abbey/python_packages'
return [
py_env_setup_step.PyEnvSetupStep(
local_packages_dir=abbey_python_packages,
py3=True,
requirements_path=requirements_path,
requirements_project=requirements_project,
**self._step_kwargs),
ccstudio_step.CCStudioStep(self._build_name,
**self._step_kwargs),
]