crosvm/infra/README.recipes.md
recipe-roller da859e1196 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8757588428261035297

recipe_engine:
0c1c828904
  0c1c828 (mingkong@google.com)
      [recipe] Add stability API to luci_analysis recipe module.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie4728419b455c8652c78fe274e0f2330681c6ec8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5244274
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-01-29 06:52:57 +00:00

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

class CrosvmApi(RecipeApi):

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

recipes / build_chromeos_hatch

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

def RunSteps(api):

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):

recipes / crosvm:examples/container_build_context

DEPS: crosvm

def RunSteps(api):

recipes / crosvm:examples/cros_container_build_context

DEPS: crosvm

def RunSteps(api):

recipes / crosvm:examples/host_build_context

DEPS: crosvm, recipe_engine/platform, recipe_engine/step

def RunSteps(api):

recipes / crosvm:examples/source_context

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 / 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):

recipes / update_chromeos_merges

DEPS: crosvm, recipe_engine/context, recipe_engine/step

def RunSteps(api):