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

infra:
https://chromium.googlesource.com/infra/infra.git/+log/370b0809a3b1244c40f4a9e2723c556fe1e4479b~..1b76eacec368fe6cc719ec2350c8b5b62eb997a2
  370b080 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from f7866c2c222e to 1414ea219e88 (1 rev...
  f0dbcd7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 9b1e910040cb to 97387e4da11c (...
  0e02036 (ukai@google.com)
      siso: add build/buildconfig builtin
  00f0628 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from 81429b736910 to b54787d3584e (1 revision)
  0b5790b (swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com)
      Remove ayatane@google.com from go/src/infra/cros/recovery/OWNERS.
  73e94cb (lpromero@google.com)
      Add misspelling of `incognito` in the spellchecker dictionary
  d3260cb (swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com)
      Remove efoo@chromium.org from infra/OWNERS.
  314cb43 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 1414ea219e88 to c53b234cfd4c (1 rev...
  6d7679c (cdelagarza@google.com)
      tast-first-class: Ensure disconnected TRs output no verdict on...
  96cd500 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 624918f75be0 to 6dd0833549fb (1 revision)
  1b76eac (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from c53b234cfd4c to 4cec7623e3c5 (1 rev...

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d9cf48617ea87fd6ffb0ebb06d622e0e2c84bc52
  d9cf486 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from a23be94df5ae to 4494da54d1ba

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: Iac5b5cebbe5ba28430379ecdfe74624db7581c9c
2 files changed
tree: 2b7e97ceac1b326d0bdee7ee64132d2e60e94561
  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