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

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

depot_tools:
07d6e6985b
  07d6e69 (jojwang@chromium.org)
      Use shutil when moving gsutil.

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: I8c7e3138cccf493da6821efbf46e1afc51904aa2
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3881724
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>
2022-09-08 02:16:55 +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

PYTHON_VERSION_COMPATIBILITY: PY3

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"])

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

Runs a luci step inside the crosvm dev container.

def upload_coverage(self, filename):

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

def TestCrosWorkonFlow(api, board):

recipes / build_docs

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

PYTHON_VERSION_COMPATIBILITY: PY3

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

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api, properties):

def get_test_args(api, properties):

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