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

infra:
https://chromium.googlesource.com/infra/infra.git/+log/5aaf399a462947b3f7eac7296f1a350a35236e1d~..0ada04ac9db13ab3199069ea8318e937c3bfcfbb
  5aaf399 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from f04adcd3feea to 0cc58e8c556f (1 rev...
  21ac562 (dbeckett@google.com)
      CTPv2: Uprev 3D to include DLM
  b1122e7 (varunsrivastav@google.com)
      Remove authToken.txt
  d4a4103 (gregorynisbet@google.com)
      [fleetcost] Remove custom deadline from getcostresult so that r...
  f63bb52 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from d7ee0cb82bea to b3aa4dc13fef (...
  638672a (varunsrivastav@google.com)
      Skip generating if the authToken.txt doesn't exists
  0ada04a (gregorynisbet@google.com)
      [fleetcost] Fix issues with cost model

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/ea27cb4d3bbc4556feb13ad4f2b7387abb024904
  ea27cb4 (olivernewman@google.com)
      [test] Surface summary_markdown in case of status mismatch

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: Ib9a20842bb865d690e01083278cf954c4fae9630
2 files changed
tree: 73a34c00cccb9805c5fa46d57ac4a338b6546b5a
  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