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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/259774c3acd0dbb9a874219cc0ef4f005dba7e6f
  259774c (aravindvasudev@google.com)
      [gclient_scm] Update _CheckClean() to use `git status`

infra:
https://chromium.googlesource.com/infra/infra.git/+log/231031ef24e741d1aa366f41adbf8b7a598be75c~..7c069d811783bc92620879d8319c3dea87150439
  231031e (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from ec41bb1403c6 to 6375f96c7950 (1 revision)
  a69f192 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 5ceff14ba731 to c5e0cf608321 (1 rev...
  a0dc828 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 387bce02763b to 5d91d4f999bd (1 revision)
  33c9493 (iannucci@chromium.org)
      Remove defunct chromium_committers application code.
  4a3138e (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 8a2247ac924c to 023d45a8757d (...
  7c069d8 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from c5e0cf608321 to 782014d78c68 (1 rev...

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+log/b16c348b0229ba75e32b91ca5b556db62f4f8ffe~..d0e40ef56fa57e2dd3c0fae03f7bec723a56916a
  b16c348 (bryner@google.com)
      Run archive module scripts under python 3.11.
  1359680 (olivernewman@google.com)
      [engine] Improve error for missing test deps
  d0e40ef (chanli@chromium.org)
      [recipes-py] Roll LUCI proto

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: Ibcdf8ca4bf61bc67802909b713f2e0b39c5201e6
2 files changed
tree: d9836785faf4cfbe6f121115481fcf7248c8b1a8
  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