Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, infra, recipe_engine) into this repository.

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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/43c6415bced9310c0aefabadaac2d405fbd5043d
  43c6415 (sokcevic@chromium.org)
      Add a new possible siso path

infra:
https://chromium.googlesource.com/infra/infra.git/+log/824533dc041615e5e65f4788f9571b6f2786f819~..2a8d98dc057e907f09f8fba4f992e4359962cec1
  824533d (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 9a7623b18191 to bbe1a06b23f2 (...
  e114780 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 3e91539c44e3 to c6a4077c3cbd (2 rev...
  62c1098 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from 7f6644f06659 to 45c7d0cf3e52 (1 revision)
  2a8d98d (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 25d5bc21b9b4 to c7dabe5e9c08 (6 revisions)

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+log/8cd7399bdad6713f730ccb867e3dccc3e858eee8~..052fd59531414409c1fe3afccda1d54a1b528ac0
  8cd7399 (mohrr@google.com)
      [buildbucket] Remove set_buildbucket_host() method
  052fd59 (kimstephanie@google.com)
      Include is_source_spec_final in resultdb/update_invocation call

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.

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id8da2f5a387d8bc03baf17d649853ad2be6af839
2 files changed
tree: f27e9418ed414d6ce0fa0813b02cc594eedc21ec
  1. generated/
  2. infra/
  3. recipes/
  4. repos/
  5. .gitignore
  6. main.star
  7. README.md
README.md

LUCI Configuration

This repo holds all the configuration for LUCI, the CI system Gerrit uses. You can find recent verification runs and logs at https://ci.chromium.org/ui/p/gerrit/builders.

Concepts

  • Recipe: a python script to verify a change, and a test for that verification
  • Builder: a recipe configured to run on a specific machine type
  • CQ Group: a watcher that triggers on new votes/patchsets on the specified repo+refs
  • CQ Tryjob Verifier: combines a CQ group with a builder to run a recipe when a new vote or patchset comes in

Layout

  • /main.star: overall starlark configuration for the entire host. It is also executable to generate the config data
  • /repos/*.star: repo-specific starlark configuration for builders, CQ groups, CQ tryjob verifiers, etc
  • /recipes/recipes/*.py: recipes for testing a change based on the repo
  • /recipes/recipes.py: executes recipe tests and compares/generates expected JSON goldens. 100% coverage is expected.
  • /recipes/recipe_modules/: dependencies shared by modules
  • /recipes/*.expected/*.json: expected commands executed by the recipe
  • /infra/config/recipes.cfg: versions and URLs of external recipe dependencies

Prerequisites

  • lucicfg - CLI tool to generate the configuration from the starlark scripts. To install, clone depot_tools.
  • python - Python 3, used to execute recipes.

Imporant commands

Regenerate config data after making changes (lucicfg):

$ ./main.star

Run recipe tests (python):

$ recipes/recipes.py test run

Update recipe test goldens (python):

$ recipes/recipes.py test train

Documentation