mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
5156976b7f
To enable the merge bot on luci we had to solve a couple of problems: - We cannot use http cookies for auth, so added gcloud auth into merge_bot. - Switch back to original HEAD after running merge bot. Otherwise the version of the merge_bot script can change between invocations. - Do not soft reset when checking out crosvm source. - For less invasive testing, also added a few more exceptions when using MERGE_BOT_TEST so it won't email, etc. - Rename to update_chromeos_merges, as it is more fitting to what the bot is doing BUG=b:233913643 TEST=https://ci.chromium.org/swarming/task/5b58ed4497fda510 Change-Id: Iaa9b4821b70a1e90d19637d01856196bd7852ed5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3692686 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com>
134 lines
8.9 KiB
Markdown
134 lines
8.9 KiB
Markdown
<!--- AUTOGENERATED BY `./recipes.py test train` -->
|
|
# 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 ✅)
|
|
* [update_chromeos_merges](#recipes-update_chromeos_merges) (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#28)(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**<br>— **def [builder\_dir](/infra/recipe_modules/crosvm/api.py#17)(self):**
|
|
|
|
The builder directory is cached between builds to improve build times.
|
|
|
|
— **def [prepare\_container](/infra/recipe_modules/crosvm/api.py#71)(self):**
|
|
|
|
— **def [prepare\_git](/infra/recipe_modules/crosvm/api.py#85)(self):**
|
|
|
|
— **def [prepare\_source](/infra/recipe_modules/crosvm/api.py#46)(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**<br>— **def [source\_dir](/infra/recipe_modules/crosvm/api.py#13)(self):**
|
|
|
|
— **def [step\_in\_container](/infra/recipe_modules/crosvm/api.py#97)(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#9): [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#79)(api, board):**
|
|
|
|
— **def [CleanUp](/infra/recipes/build_chromeos.py#92)(api):**
|
|
|
|
— **def [PrepareBuild](/infra/recipes/build_chromeos.py#64)(api):**
|
|
|
|
— **def [RunSteps](/infra/recipes/build_chromeos.py#97)(api, properties):**
|
|
|
|
— **def [SetupSource](/infra/recipes/build_chromeos.py#27)(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):**
|
|
### *recipes* / [update\_chromeos\_merges](/infra/recipes/update_chromeos_merges.py)
|
|
|
|
[DEPS](/infra/recipes/update_chromeos_merges.py#9): [crosvm](#recipe_modules-crosvm), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
PYTHON_VERSION_COMPATIBILITY: PY3
|
|
|
|
— **def [RunSteps](/infra/recipes/update_chromeos_merges.py#16)(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
|