Schedule postsubmit build for all builders in BuilderConfigs.

- Updated the infra_config module to read the BuilderConfig for the
current Buildbucket builder.
- Then, postsubmit-orchestrator uses the new Orchestrator field on
the proto to schedule child builds. (Needed update of proto
version dependency).

BUG=chromium:904935
TEST=./recipes.py test run

Change-Id: Ibcf4f45902041158805c6e242bccfb500d912c66
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/recipes/+/1526208
Reviewed-by: Andrew Lamb <andrewlamb@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
Tested-by: Andrew Lamb <andrewlamb@chromium.org>
12 files changed
tree: 109c1eb348f318b45317a08f1d76bcd3d8f1f5ed
  1. contrib/
  2. infra/
  3. recipe_modules/
  4. recipes/
  5. support/
  6. workdir/
  7. .gitignore
  8. .style.yapf
  9. OWNERS
  10. PRESUBMIT.py
  11. README.md
  12. README.recipes.md
  13. recipes.py
  14. run_prototype.sh
README.md

Chrome OS Recipes

This is a quick-start guide for Chrome OS Recipes. For more in-depth information about the Recipes framework, see the Recipes User Guide.

The recipes and recipe modules in this repo have documentation auto-generated by the ‘test train’ process: README.recipes.md

Getting Started

The recipes.py script in this repo will bootstrap itself. You can verify that it is working by running tests:

./recipes.py test run

After making a change, you will usually need to “re-train” expected output in order for tests to pass:

./recipes.py test train

This will also regenerate the README.recipes.md documentation. That file and the expectation data in *.expected directories should be checked in with your changes.

Support Tools

This repo contains some non-recipes support tooling in the support/ directory. These tools are delivered to CI hosts via CIPD. This process is automated by the support/deploy_cipd.sh script. See support/README.txt for more details.

Chrome OS Recipes Code Style

  • The Python code in this repo should largely conform to Chromium Python style except that Recipes code has a convention of 2 space indents. Practically, we use YAPF for automatic code formatting; whatever style is generated by YAPF should be used.

  • The code in this repo uses docstring-based type annotations as implemented by the Sphinx Napoleon Plugin. This format is supported by PyCharm / IntelliJ (Settings > Tools > Python Integrated Tools > Docstring format > Google).

  • The Recipes framework does not require the RecipesApi subclass in recipe modules to have any particular name, but this repo has some tooling that expects it to be named NameApi derived from the recipe_modules/<name>/.