Add coverage pattern information directly to RecipeDeps.

Logically this information is static on RecipeDeps; compute it lazily
and cache it so that the simulation tests can just retrieve it instead of
having to compute it (or have an awkward helper function to do so).

R=martiniss@chromium.org, tandrii@chromium.org

Bug: 910369
Recipe-Nontrivial-Roll: skia
Change-Id: I57f2331a12132575dab9e0eda32e98df5fe6301b
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/1618291
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Auto-Submit: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
19 files changed
tree: e19c51445ceacf61f6b0fbc53d01e6c376566306
  1. doc/
  2. infra/
  3. misc/
  4. recipe_engine/
  5. recipe_modules/
  6. recipe_proto/
  7. recipes/
  8. unittests/
  9. .gitattributes
  10. .gitignore
  11. .vpython
  12. AUTHORS
  13. codereview.settings
  14. CONTRIBUTORS
  15. LICENSE
  16. OWNERS
  17. PRESUBMIT.py
  18. README.md
  19. README.recipes.md
  20. recipes.py
README.md

Recipes

Recipes are a domain-specific language (embedded in python) for specifying sequences of subprocess calls in a cross-platform and testable way.

They allow writing build flows which integrate with the rest of LUCI.

Documentation for the recipe engine (including this file!). Take a look at the user guide for some hints on how to get started. See the implementation details doc for more detailed implementation information about the recipe engine.

Contributing

  • Sign the Google CLA.
  • Make sure your user.email and user.name are configured in git config.

Run the following to setup the code review tool and create your first review:

# Get `depot_tools` in $PATH if you don't have it
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"

# Check out the recipe engine repo
git clone https://chromium.googlesource.com/infra/luci/recipes-py $HOME/src/recipes-py

# make your change
cd $HOME/src/recipes-py
git new-branch cool_feature
# hack hack
git commit -a -m "This is awesome"

# This will ask for your Google Account credentials.
git cl upload -s -r joe@example.com
# Wait for approval over email.
# Click "Submit to CQ" button or ask reviewer to do it for you.
# Wait for the change to be tested and landed automatically.

Use git cl help and git cl help <cmd> for more details.