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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/c733c4a38fd67edd89e2c48dfc33d884e830ad79
  c733c4a (ovsienko@google.com)
      Ruff lint: relint depot_tools with ruff and remove pylint usage.

infra:
https://chromium.googlesource.com/infra/infra.git/+log/b21b30b4cd3dfc7580ff313bbaae562e95b92797~..ca402a2aa907b514b4a8e8040f20bebd55a99d56
  b21b30b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 7bf72369f04b to f331de714965 (1 rev...
  7075a96 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 56b11c35bab7 to ebbcd1d8270e (...
  f4984ed (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from 729ce6a596ec to e49f6a05ead7 (1 revision)
  f61ac35 (fancl@chromium.org)
      crowbar: support cipd remote storage
  ca402a2 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from e49f6a05ead7 to f24ebee9bf27 (1 revision)

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/6e6000c4f4a49abfce1609e1d31610a0158b9dd0
  6e6000c (chanli@chromium.org)
      [Turbo CI] import latest protos

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: I41b0770119087770e77ead4ad0b10b2a4f82b041
2 files changed
tree: a379ac06b55c05aacef5956faf657b465d0b48eb
  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