|author||Gavin Mak <firstname.lastname@example.org>||Wed Feb 01 20:02:52 2023 +0000|
|committer||Gavin Mak <email@example.com>||Wed Feb 01 20:02:52 2023 +0000|
Set up recipe and various configs for git-repo For running presubmit tests on https://gerrit.googlesource.com/git-repo. Google-Bug-Id: b/266734831 Change-Id: Id077d2e827ee5de24d68cab82759d3a54a316074
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- Due to an ongoing migration, the
recipes.pyscript still relies on python 2.7, but the recipes themselves are written for python 3.
Regenerate config data after making changes (lucicfg):
Run recipe tests (python 2.7):
$ python recipes/recipes.py test run
Update recipe test goldens (python 2.7):
$ python recipes/recipes.py test train