Mingw64 builds are used frequently by linux developers to check windows portions of crosvm and part of ./tools/presubmit. Test in postsubmit and once the builder is green it can be enabled in the CQ as well. BUG=b:254316054 TEST=recipes.py tests run Change-Id: I8495446772a54d63644e73d07423892e28cedd1a Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3964541 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Dennis Kempin <denniskempin@google.com>
13 KiB
Repo documentation for crosvm
Table of Contents
- crosvm (Python3 ✅)
- build_chromeos (Python3 ✅)
- build_docs (Python3 ✅)
- build_linux (Python3 ✅)
- build_windows (Python3 ✅)
- crosvm:examples/container_build_context (Python3 ✅)
- crosvm:examples/host_build_context (Python3 ✅)
- crosvm:examples/source_context (Python3 ✅)
- health_check (Python3 ✅)
- push_to_github (Python3 ✅)
- update_chromeos_merges (Python3 ✅)
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
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):