crosvm/infra/README.recipes.md
Dennis Kempin 070cc87986 infra: Nest preparation steps and mark them as infra steps
This will clean up the luci log page and failures in any of these
steps will be marked as infra failures.

BUG=None
TEST=None

Change-Id: I7bce6ba3eb34c1a68d7ca8d21d6b5f4e332de17c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3739375
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Dennis Kempin <denniskempin@google.com>
2022-07-01 21:34:07 +00:00

11 KiB
Raw Blame History

Repo documentation for crosvm

Table of Contents

Recipe Modules

Recipes

Recipe Modules

recipe_modules / crosvm

DEPS: depot_tools/bot_update, depot_tools/gclient, depot_tools/git, recipe_engine/buildbucket, recipe_engine/cipd, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/platform, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

class CrosvmApi(RecipeApi):

Crosvm specific functionality shared between recipes.

@property
def builder_dir(self):

@property
def cache_dir(self):

@property
def cargo_home(self):

CARGO_HOME is cached between runs.

@property
def cargo_target_dir(self):

CARGO_TARGET_DIR is cleaned up between runs

def container_build_context(self):

Prepares source and system to build crosvm via dev container.

Usage: with api.crosvm.container_build_context(): api.crosvm.step_in_container("build crosvm", ["cargo build"])

def host_build_context(self):

Prepares source and system to build crosvm directly on the host.

This will install the required rust version via rustup. However no further dependencies are installed.

Usage: with api.crosvm.host_build_context(): api.step("build crosvm", ["cargo build"])

@property
def local_bin(self):

Directory used to install local tools required by the build.

def prepare_git(self):

@property
def rustup_home(self):

RUSTUP_HOME is cached between runs.

def source_context(self):

Updates the source to the revision to be tested and drops into the source directory.

Use when no build commands are needed.

@property
def source_dir(self):

Where the crosvm source will be checked out.

def step_in_container(self, step_name, command):

Runs a luci step inside the crosvm dev container.

Recipes

recipes / build_chromeos

DEPS: crosvm, depot_tools/depot_tools, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def BuildAndTest(api, board):

def CleanUp(api):

def PrepareBuild(api):

def RunSteps(api, properties):

def SetupSource(api, workspace):

recipes / build_linux

DEPS: crosvm, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api, properties):

def get_test_args(api, test_arch):

Returns architecture specific arguments for ./tools/run_tests

recipes / build_windows

DEPS: crosvm, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / crosvm:examples/container_build_context

DEPS: crosvm

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / crosvm:examples/host_build_context

DEPS: crosvm, recipe_engine/platform, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / crosvm:examples/source_context

DEPS: crosvm, recipe_engine/buildbucket

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / health_check

DEPS: crosvm, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / push_to_github

DEPS: crosvm, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/raw_io, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / update_chromeos_merges

DEPS: crosvm, recipe_engine/context, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):