Roll recipe dependencies (trivial).

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

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

infra:
https://chromium.googlesource.com/infra/infra.git/+log/dc54074f7cccc7bc59f0ed1c3f600a70f66fea9a~..f03b2342053f899c640df7af3aa6494112d18591
  dc54074 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from ed48eb8da93b to 5aca9f5f5f2e (1 revision)
  d89bf20 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 284bc57ba1a9 to c849cf7b6c00 (1 rev...
  f42887b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 5ea8aa8c0b8b to aa1472b52628 (...
  18f5196 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from b69fb6e6d545 to 279edb3d14c5 (1 revision)
  f03b234 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 279edb3d14c5 to 68e6c01d84c9 (2 revisions)

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/c5e2f2ce0763c7bc5166fe20a4a65af74e478a4f
  c5e2f2c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 93a586d53955 to 0e7802b85394

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: I9a8ed1e345786a243bb32c206d145c19bf71a6c2
2 files changed
tree: b7fe4cc6a4d5e9aaca7b9d29a95b7a58e78d7569
  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