# Repo documentation for [crosvm](https://chromium.googlesource.com/crosvm/crosvm.git) ## Table of Contents **[Recipe Modules](#Recipe-Modules)** * [crosvm](#recipe_modules-crosvm) (Python3 ✅) **[Recipes](#Recipes)** * [build_chromeos](#recipes-build_chromeos) (Python3 ✅) * [build_linux](#recipes-build_linux) (Python3 ✅) * [crosvm:examples/build_context](#recipes-crosvm_examples_build_context) (Python3 ✅) * [crosvm:examples/prepare_source](#recipes-crosvm_examples_prepare_source) (Python3 ✅) * [health_check](#recipes-health_check) (Python3 ✅) * [push_to_github](#recipes-push_to_github) (Python3 ✅) ## Recipe Modules ### *recipe_modules* / [crosvm](/infra/recipe_modules/crosvm) [DEPS](/infra/recipe_modules/crosvm/__init__.py#7): [depot\_tools/bot\_update][depot_tools/recipe_modules/bot_update], [depot\_tools/gclient][depot_tools/recipe_modules/gclient], [depot\_tools/git][depot_tools/recipe_modules/git], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/step][recipe_engine/recipe_modules/step] PYTHON_VERSION_COMPATIBILITY: PY3 #### **class [CrosvmApi](/infra/recipe_modules/crosvm/api.py#10)([RecipeApi][recipe_engine/wkt/RecipeApi]):** Crosvm specific functionality shared between recipes. — **def [build\_context](/infra/recipe_modules/crosvm/api.py#27)(self, source=True, container=True):** Prepares everything needed to build crosvm on the revision that needs to be verified. This updates the cwd to the crosvm source directory, ensures the revision to be tested is checked out and the dev container is ready. Usage: with api.crosvm.build_context(): api.crosvm.step_in_container("build crosvm", ["cargo build"])   **@property**
— **def [builder\_dir](/infra/recipe_modules/crosvm/api.py#17)(self):** — **def [prepare\_container](/infra/recipe_modules/crosvm/api.py#65)(self):** — **def [prepare\_git](/infra/recipe_modules/crosvm/api.py#79)(self):** — **def [prepare\_source](/infra/recipe_modules/crosvm/api.py#45)(self):** Prepares the local crosvm source for testing in `self.source_dir` CI jobs will check out the revision to be tested, try jobs will check out the gerrit change to be tested.   **@property**
— **def [source\_dir](/infra/recipe_modules/crosvm/api.py#13)(self):** — **def [step\_in\_container](/infra/recipe_modules/crosvm/api.py#90)(self, step_name, command):** Runs a luci step inside the crosvm dev container. ## Recipes ### *recipes* / [build\_chromeos](/infra/recipes/build_chromeos.py) [DEPS](/infra/recipes/build_chromeos.py#10): [crosvm](#recipe_modules-crosvm), [depot\_tools/depot\_tools][depot_tools/recipe_modules/depot_tools], [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step] PYTHON_VERSION_COMPATIBILITY: PY3 — **def [BuildAndTest](/infra/recipes/build_chromeos.py#80)(api, board):** — **def [CleanUp](/infra/recipes/build_chromeos.py#93)(api):** — **def [PrepareBuild](/infra/recipes/build_chromeos.py#65)(api):** — **def [RunSteps](/infra/recipes/build_chromeos.py#98)(api, properties):** — **def [SetupSource](/infra/recipes/build_chromeos.py#28)(api, workspace):** ### *recipes* / [build\_linux](/infra/recipes/build_linux.py) [DEPS](/infra/recipes/build_linux.py#11): [crosvm](#recipe_modules-crosvm), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step] PYTHON_VERSION_COMPATIBILITY: PY3 — **def [RunSteps](/infra/recipes/build_linux.py#35)(api, properties):** — **def [get\_test\_args](/infra/recipes/build_linux.py#22)(api, test_arch):** Returns architecture specific arguments for ./tools/run_tests ### *recipes* / [crosvm:examples/build\_context](/infra/recipe_modules/crosvm/examples/build_context.py) [DEPS](/infra/recipe_modules/crosvm/examples/build_context.py#7): [crosvm](#recipe_modules-crosvm) PYTHON_VERSION_COMPATIBILITY: PY3 — **def [RunSteps](/infra/recipe_modules/crosvm/examples/build_context.py#12)(api):** ### *recipes* / [crosvm:examples/prepare\_source](/infra/recipe_modules/crosvm/examples/prepare_source.py) [DEPS](/infra/recipe_modules/crosvm/examples/prepare_source.py#12): [crosvm](#recipe_modules-crosvm), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket] PYTHON_VERSION_COMPATIBILITY: PY3 — **def [RunSteps](/infra/recipe_modules/crosvm/examples/prepare_source.py#18)(api):** ### *recipes* / [health\_check](/infra/recipes/health_check.py) [DEPS](/infra/recipes/health_check.py#9): [crosvm](#recipe_modules-crosvm), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step] PYTHON_VERSION_COMPATIBILITY: PY3 — **def [RunSteps](/infra/recipes/health_check.py#18)(api):** ### *recipes* / [push\_to\_github](/infra/recipes/push_to_github.py) [DEPS](/infra/recipes/push_to_github.py#9): [crosvm](#recipe_modules-crosvm), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket], [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step] PYTHON_VERSION_COMPATIBILITY: PY3 — **def [RunSteps](/infra/recipes/push_to_github.py#20)(api):** [depot_tools/recipe_modules/bot_update]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/8a87603683bda769d437e48cc1a7494a2e237ead/recipes/README.recipes.md#recipe_modules-bot_update [depot_tools/recipe_modules/depot_tools]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/8a87603683bda769d437e48cc1a7494a2e237ead/recipes/README.recipes.md#recipe_modules-depot_tools [depot_tools/recipe_modules/gclient]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/8a87603683bda769d437e48cc1a7494a2e237ead/recipes/README.recipes.md#recipe_modules-gclient [depot_tools/recipe_modules/git]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/8a87603683bda769d437e48cc1a7494a2e237ead/recipes/README.recipes.md#recipe_modules-git [recipe_engine/recipe_modules/buildbucket]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-buildbucket [recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-context [recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-file [recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-path [recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-properties [recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-raw_io [recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/README.recipes.md#recipe_modules-step [recipe_engine/wkt/RecipeApi]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b42800366a15f34b28e62f6bcb1cddcb2206db0/recipe_engine/recipe_api.py#883