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/8695109235529807793

infra:
https://chromium.googlesource.com/infra/infra.git/+log/95e32f41c69375f05862a1aed35470684944d081~..70b1a6768231f7214c177de7ae015d4fb34994da
  95e32f4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 32e5cedb802d to 1858a77077e4 (1 rev...
  210bc32 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 6184160cb680 to bc864e6ee9b9 (1 revision)
  d5cfdb8 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 84cce76c368a to ca4be1eaab09 (...
  da6b5b9 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from bc864e6ee9b9 to f7c78e07c8e5 (1 revision)
  63c7fa5 (jlcruz@google.com)
      ants-publish: set debug info from result reason
  5c1ea66 (jlcruz@google.com)
      Refactor: Clarify state terminology in al_state_info.go
  70b1a67 (josephsussman@google.com)
      recovery: Move logic to Impl functions and add tests

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/8de157ed85b17666cdfb49b08f75208a63dc34eb
  8de157e (olivernewman@google.com)
      [warnings] Use relative paths in warning reports

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: I4c2560b8733a3bff1ecf3fd8b6a1d49516c45a88
2 files changed
tree: 337a98485e247ae509a05a8c0c9092b5d287c9f8
  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