Skip to content

Latest commit

 

History

History
220 lines (131 loc) · 15.9 KB

File metadata and controls

220 lines (131 loc) · 15.9 KB

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/raw_io, recipe_engine/step

Crosvm specific functionality shared between recipes.

  @property
— def builder_cache(self):

Dedicated cache directory for each builder.

Luci will try to run each builder on the same bot as previously to keep this cache present.

  @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 cros_container_build_context(self):

Prepares source and system to build crosvm via cros container.

Usage: with api.crosvm.cros_container_build_context(): api.crosvm.step_in_container("build crosvm", ["cargo build"], cros=True)

  @property
— def dev_container_cache(self):

— def get_git_sha(self):

— 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, cros=False, **kwargs):

Runs a luci step inside the crosvm dev container.

— def upload_coverage(self, filename):

Recipes

DEPS: depot_tools/bot_update, depot_tools/depot_tools, depot_tools/gclient, depot_tools/git, depot_tools/gsutil, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/properties, recipe_engine/raw_io, recipe_engine/step, recipe_engine/time

Recipe for building a Baguette rootfs image.

— def RunSteps(api: RecipeApi, properties: BuildBaguetteImageProperties):

recipes / build_docs

DEPS: crosvm, depot_tools/gsutil, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/file, recipe_engine/step

— def RunSteps(api):

Builds crosvm mdbook and api docs, then uploads them to GCS.

This recipe requires ambient luci authentication. To test locally run: $ luci-auth context ./infra/recipes.py run build_docs

recipes / build_linux

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

— def RunSteps(api, properties):

— def collect_binary_sizes(api, properties):

recipes / build_windows

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

— def RunSteps(api):

DEPS: crosvm

— def RunSteps(api):

DEPS: crosvm

— def RunSteps(api):

DEPS: crosvm, recipe_engine/platform, recipe_engine/step

— def RunSteps(api):

DEPS: crosvm, recipe_engine/buildbucket

— def RunSteps(api):

recipes / health_check

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

— def RunSteps(api):

recipes / presubmit

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

— def RunSteps(api, properties):

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

— def RunSteps(api):

DEPS: crosvm, recipe_engine/context, recipe_engine/step

— def RunSteps(api):

DEPS: depot_tools/git, recipe_engine/buildbucket, recipe_engine/context, recipe_engine/path, recipe_engine/properties, recipe_engine/step

Recipe for uploading uprevs of the baguette image.

— def RunSteps(api: RecipeApi, properties: UprevBaguetteImageProperties):

DEPS: depot_tools/git, recipe_engine/buildbucket, recipe_engine/cipd, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/properties, recipe_engine/raw_io, recipe_engine/step

Recipe for uploading uprevs of the refvm image.

— def RunSteps(api: RecipeApi, properties: UprevRefvmImageProperties):