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.
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
/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
lucicfg- CLI tool to generate the configuration from the starlark scripts. To install, clone depot_tools.
python- Python 3, used to execute recipes.
Regenerate config data after making changes (lucicfg):
Run recipe tests (python):
$ recipes/recipes.py test run
Update recipe test goldens (python):
$ recipes/recipes.py test train