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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2517f89cdf145753593c49bf6dcc9389b328a1dd~..39e7285c3074edb9d596e8b3e57ff280d96c2cb5
  2517f89 (sokcevic@chromium.org)
      Reland "[presubmit checks] Check if files are written to a dep...
  e5490cc (iannucci@chromium.org)
      [gerrit_util] Fix unstopped mocks.
  fa1bba5 (ayatane@chromium.org)
      [gerrit_util] Add newauth.py helper
  1e4251b (ayatane@chromium.org)
      [newauth] Accept standard Git bool values
  6355da7 (ayatane@chromium.org)
      [git_common] Relocate comment
  39e7285 (ayatane@chromium.org)
      [scm] Fix docstring reference to `modify_all`

infra:
https://chromium.googlesource.com/infra/infra.git/+log/22cf1dd0e9a9238b3b674f715f485f728083a01b~..a7323c9257c1655ad581fddc04aa3c4839954ad7
  22cf1dd (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from a301a9cd1317 to ea75377449bf (1 revision)
  019617f (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 70f743a212bc to 2eef5930a923 (1 rev...
  d5c363e (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/infra/proto from 3853747e5855 to 6e101bacffb1 (...
  85b0a7a (jackgelinas@google.com)
      suite_publisher: update owners
  281825c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll chromiumos/config from 2eef5930a923 to 52c46a72c073 (1 rev...
  d5b7aef (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-py from 7e2ee606bd88 to 48d9a662f635 (1 revision)
  4867943 (haddowk@chromium.org)
      Follow on CL from CL/5570187
  2342462 (xianuowang@google.com)
      env: Change the way to determine IsCloudBot
  c8dafe7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll luci-go from ea75377449bf to 85ce20f6c0e2 (1 revision)
  7f01b05 (xianuowang@google.com)
      cloudbots: Use common lib to determine cloudbot existence
  a7323c9 (ukai@google.com)
      siso: use grpc.NewClient

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/c5245039e2e0747b874fcfd1918722a0592cac3a
  c524503 (mohrr@google.com)
      [path] Add warning for using api.path.is_parent_of

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: I61882b0beaf35752364a24a4a12686ae4dc61b45
2 files changed
tree: 89e8d1a9ccdd96858ee6a2327d0d13b6e89851d1
  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