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

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

depot_tools:
9a7b7675ba~..2f988479fb9e31a59f935054d5f230748ed526f4
  9a7b767 (vapier@chromium.org)
      isort: make available to users
  fb8cf9c (aravindvasudev@google.com)
      Add --protocol-override to fetch.py
  13acea3 (brucedawson@chromium.org)
      Let git cl presubmit work with no branch
  23ddab2 (aravindvasudev@google.com)
      Reland "Break make_encoded_file into two functions"
  08a30b2 (bpastene@chromium.org)
      Add examples to the help string for git-cl-try's -B arg
  443d913 (dpapad@chromium.org)
      Include TypeScript .ts files in DEFAULT_FILES_TO_CHECK.
  b9dca86 (meiring@google.com)
      [depot_tools] Roll rdb.
  6a1494e (tikuta@chromium.org)
      Reland "autoninja: increase parallelism for non-HT cpu"
  1bc3cd2 (akhoroshilov@brave.com)
      Add a global core limit support for goma/rbe builds.
  cb2cef9 (sdefresne@chromium.org)
      [mac] Restore an upper limit on the number of jobs on macOS
  31bfd51 (brucedawson@chromium.org)
      Actually add a trailing slash to dir_with_slash
  9997ceb (vapier@chromium.org)
      black: add helper for formatting Python
  aa7d7e4 (dmercadier@chromium.org)
      [cpplint] Fix bug with "if constexpr"
  bfefaa8 (chanli@chromium.org)
      [depot_tools] roll led
  50c631e (jojwang@google.com)
      Skip 'ls' when downloading from gs.
  f8300fb (jochen@chromium.org)
      Remove myself from depot_tools OWNERS
  73218ec (vadimsh@chromium.org)
      [cipd] Update to v2.6.4.
  772f3dc (ukai@google.com)
      Roll out goma client VERSION=246
  632bbc0 (sokcevic@google.com)
      Skip Python 2 presubmit step when unneeded
  cf9a776 (lpromero@chromium.org)
      Typo when countdown is more than 1.
  471b549 (chanli@chromium.org)
      roll dirmd
  0e9a7d2 (sokcevic@google.com)
      Revert "Add iannucci to depot_tools owners"
  2f98847 (dsanders11@ucsbalum.com)
      cpplint: improve root path for header guard behavior

recipe_engine:
f588cc00b9~..04b3acea0bf45c9e1076079998b6378caa5570d2
  f588cc0 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 595e0f7a2869 to cb424e70e751
  52ef306 (iannucci@chromium.org)
      [recipe_engine] Implicit CANCELED final build status.
  cde011f (machenbach@chromium.org)
      [led] Add common logic to trigger a builder
  087afb8 (chanli@chromium.org)
      [recipe-py] buildbucket: enable buildbucket tracking parent/chi...
  c827c1b (chanli@chromium.org)
      Revert "[recipe-py] buildbucket: enable buildbucket tracking pa...
  9eef321 (gbeaty@chromium.org)
      Prevent creation of candidates for dependencies of dependencies.
  3db9e1b (chanli@chromium.org)
      Reland "[recipe-py] buildbucket: enable buildbucket tracking pa...
  b788d0a (vadimsh@chromium.org)
      [scheduler] Expose job ID and invocation ID.
  6d2e271 (gredelston@google.com)
      walkthrough.md: Fix incorrect kwarg "output"
  14202da (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from addd54e4fcef to 6da0608e4fa8
  826d446 (kimstephanie@google.com)
      Add new post_process.PropertiesContain to check that key exists
  f15df27 (chanli@chromium.org)
      Extend placeholder.py to schedule child builds
  83eab46 (whesse@google.com)
      [buildbucket] Relax type check on buildbucket ids
  d3504b5 (mohrr@google.com)
      [path] Add __lt__ to Path
  9e3ca47 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from a0672c27eaaa to 5fa853f88d79
  2522322 (gbeaty@chromium.org)
      Rewrite candidate_algorithm.
  b4882c1 (chanli@chromium.org)
      [time] make sleep a timed wait on global_shutdown
  1d661d3 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from b927ccff49e4 to b2aa2d72c22b
  a6fd0d2 (chanli@chromium.org)
      [time] set the step to canceled if GLOBAL_SHUTDOWN is triggered
  0f5f374 (alexschulze@chromium.org)
      [cipd] Fix `instances` command with limit = 0
  048f6f2 (chanli@chromium.org)
      [recipe-py] buildbucket: set `luci.buildbucket.parent_tracking`...
  d63eb67 (chanli@chromium.org)
      Revert "[recipe-py] buildbucket: set `luci.buildbucket.parent_t...
  e783f88 (chanli@chromium.org)
      [recipe-py] (2 attempt) buildbucket: set `luci.buildbucket.pare...
  2239191 (gbeaty@chromium.org)
      Prevent spurious GitFetchErrors in CommitList.from_backend.
  efaa1e2 (iannucci@chromium.org)
      [json] Stop using python.inline.
  dc013a8 (iannucci@chromium.org)
      [python] Mark python.inline with a warning
  6345fb2 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 4f40f26f3102 to 2aa3d7e5e866
  36be946 (iannucci@chromium.org)
      [python] Deprecate api.python.__call__
  357b1cd (martiniss@google.com)
      Add timing information option to the test command
  e174a86 (martiniss@google.com)
      Add exponential_backoff to the time module.
  ce1d368 (iannucci@chromium.org)
      [warnings] Omit warnings which are attributed to other recipe r...
  c002009 (akashmukherjee@google.com)
      [snoopy] Create luci's bcid recipe module dir.
  1e08dae (akashmukherjee@google.com)
      [snoopy] Create a luci's bcid recipe_module.
  f2754bc (akashmukherjee@google.com)
      [snoopy] Update the cipd for reporter module.
  4cb1bf0 (gbeaty@chromium.org)
      Don't set the -u flag when running python unbuffered.
  50cbd44 (meiring@google.com)
      [recipe-py] roll recipe_proto
  82fb654 (meiring@google.com)
      [recipes-py] Update ResultDB exoneration example to populate re...
  bb1fb5a (iannucci@chromium.org)
      [python] Set warning for entire python module.
  d047727 (gbeaty@chromium.org)
      Inhibit displaying coverage information on python3 failures wit...
  57ac2ff (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from e361505b12f1 to 3bd002442390
  253ac82 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 91c1b9ec335a to cad461b65231
  2684e3c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 4137ed7879ac to 93b14d0f4216
  ac03648 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 35b05be75bc4 to 29b908616bc9
  0a09360 (kimstephanie@google.com)
      Add post_process.LogDoesNotContain
  08c51a1 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from c25db5a11beb to d3db74920e35
  e3cd9eb (kuanhuang@chromium.org)
      Add recipes API swarming.show_request(name, task) -> TaskRequest
  04b3ace (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8b08f5e9f609 to 0ef9351a5b73

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: Ic16796c2981fe7b3373146a55921cfee5e64eedc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3764420
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2022-07-14 20:28:31 +00:00

193 lines
12 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_docs](#recipes-build_docs) (Python3 ✅)
* [build_linux](#recipes-build_linux) (Python3 ✅)
* [build_windows](#recipes-build_windows) (Python3 ✅)
* [crosvm:examples/container_build_context](#recipes-crosvm_examples_container_build_context) (Python3 ✅)
* [crosvm:examples/host_build_context](#recipes-crosvm_examples_host_build_context) (Python3 ✅)
* [crosvm:examples/source_context](#recipes-crosvm_examples_source_context) (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/cipd][recipe_engine/recipe_modules/cipd], [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/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/step][recipe_engine/recipe_modules/step]
PYTHON_VERSION_COMPATIBILITY: PY3
#### **class [CrosvmApi](/infra/recipe_modules/crosvm/api.py#11)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
Crosvm specific functionality shared between recipes.
&emsp; **@property**<br>&mdash; **def [builder\_cache](/infra/recipe_modules/crosvm/api.py#43)(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.
&emsp; **@property**<br>&mdash; **def [cargo\_home](/infra/recipe_modules/crosvm/api.py#24)(self):**
CARGO_HOME is cached between runs.
&emsp; **@property**<br>&mdash; **def [cargo\_target\_dir](/infra/recipe_modules/crosvm/api.py#29)(self):**
CARGO_TARGET_DIR is cleaned up between runs
&mdash; **def [container\_build\_context](/infra/recipe_modules/crosvm/api.py#62)(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"])
&emsp; **@property**<br>&mdash; **def [dev\_container\_cache](/infra/recipe_modules/crosvm/api.py#39)(self):**
&mdash; **def [host\_build\_context](/infra/recipe_modules/crosvm/api.py#79)(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"])
&emsp; **@property**<br>&mdash; **def [local\_bin](/infra/recipe_modules/crosvm/api.py#34)(self):**
Directory used to install local tools required by the build.
&mdash; **def [prepare\_git](/infra/recipe_modules/crosvm/api.py#124)(self):**
&emsp; **@property**<br>&mdash; **def [rustup\_home](/infra/recipe_modules/crosvm/api.py#19)(self):**
RUSTUP_HOME is cached between runs.
&mdash; **def [source\_context](/infra/recipe_modules/crosvm/api.py#52)(self):**
Updates the source to the revision to be tested and drops into the source directory.
Use when no build commands are needed.
&emsp; **@property**<br>&mdash; **def [source\_dir](/infra/recipe_modules/crosvm/api.py#14)(self):**
Where the crosvm source will be checked out.
&mdash; **def [step\_in\_container](/infra/recipe_modules/crosvm/api.py#110)(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
&mdash; **def [BuildAndTest](/infra/recipes/build_chromeos.py#76)(api, board):**
&mdash; **def [CleanUp](/infra/recipes/build_chromeos.py#89)(api):**
&mdash; **def [PrepareBuild](/infra/recipes/build_chromeos.py#61)(api):**
&mdash; **def [RunSteps](/infra/recipes/build_chromeos.py#94)(api, properties):**
&mdash; **def [SetupSource](/infra/recipes/build_chromeos.py#27)(api, workspace):**
### *recipes* / [build\_docs](/infra/recipes/build_docs.py)
[DEPS](/infra/recipes/build_docs.py#9): [crosvm](#recipe_modules-crosvm), [depot\_tools/gsutil][depot_tools/recipe_modules/gsutil], [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/step][recipe_engine/recipe_modules/step]
PYTHON_VERSION_COMPATIBILITY: PY3
&mdash; **def [RunSteps](/infra/recipes/build_docs.py#22)(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](/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
&mdash; **def [RunSteps](/infra/recipes/build_linux.py#40)(api, properties):**
&mdash; **def [get\_test\_args](/infra/recipes/build_linux.py#22)(api, properties):**
Returns architecture specific arguments for ./tools/run_tests
### *recipes* / [build\_windows](/infra/recipes/build_windows.py)
[DEPS](/infra/recipes/build_windows.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
&mdash; **def [RunSteps](/infra/recipes/build_windows.py#18)(api):**
### *recipes* / [crosvm:examples/container\_build\_context](/infra/recipe_modules/crosvm/examples/container_build_context.py)
[DEPS](/infra/recipe_modules/crosvm/examples/container_build_context.py#7): [crosvm](#recipe_modules-crosvm)
PYTHON_VERSION_COMPATIBILITY: PY3
&mdash; **def [RunSteps](/infra/recipe_modules/crosvm/examples/container_build_context.py#12)(api):**
### *recipes* / [crosvm:examples/host\_build\_context](/infra/recipe_modules/crosvm/examples/host_build_context.py)
[DEPS](/infra/recipe_modules/crosvm/examples/host_build_context.py#7): [crosvm](#recipe_modules-crosvm), [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/step][recipe_engine/recipe_modules/step]
PYTHON_VERSION_COMPATIBILITY: PY3
&mdash; **def [RunSteps](/infra/recipe_modules/crosvm/examples/host_build_context.py#14)(api):**
### *recipes* / [crosvm:examples/source\_context](/infra/recipe_modules/crosvm/examples/source_context.py)
[DEPS](/infra/recipe_modules/crosvm/examples/source_context.py#12): [crosvm](#recipe_modules-crosvm), [recipe\_engine/buildbucket][recipe_engine/recipe_modules/buildbucket]
PYTHON_VERSION_COMPATIBILITY: PY3
&mdash; **def [RunSteps](/infra/recipe_modules/crosvm/examples/source_context.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
&mdash; **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
&mdash; **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
&mdash; **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/+/2f988479fb9e31a59f935054d5f230748ed526f4/recipes/README.recipes.md#recipe_modules-bot_update
[depot_tools/recipe_modules/depot_tools]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2f988479fb9e31a59f935054d5f230748ed526f4/recipes/README.recipes.md#recipe_modules-depot_tools
[depot_tools/recipe_modules/gclient]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2f988479fb9e31a59f935054d5f230748ed526f4/recipes/README.recipes.md#recipe_modules-gclient
[depot_tools/recipe_modules/git]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2f988479fb9e31a59f935054d5f230748ed526f4/recipes/README.recipes.md#recipe_modules-git
[depot_tools/recipe_modules/gsutil]: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2f988479fb9e31a59f935054d5f230748ed526f4/recipes/README.recipes.md#recipe_modules-gsutil
[recipe_engine/recipe_modules/buildbucket]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-buildbucket
[recipe_engine/recipe_modules/cipd]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-cipd
[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-context
[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-file
[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-path
[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-platform
[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-properties
[recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-raw_io
[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/README.recipes.md#recipe_modules-step
[recipe_engine/wkt/RecipeApi]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/04b3acea0bf45c9e1076079998b6378caa5570d2/recipe_engine/recipe_api.py#886