skia2/infra/bots/recipe_modules
Ben Wagner 7a6db4cbf4 [infra] Move app installation to install method
This generally makes things tidier (e.g. perf_skottietrace.py no longer
needs special logic so that the app is only installed once), and it
means iOS can install only the app that's going to be run instead of
installing everything.

Change-Id: Ic07c56e724d0379255c8da5f204d9d6379b646ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273002
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-02-25 17:34:21 +00:00
..
build Update XCode 2020-02-23 23:15:26 +00:00
builder_name_schema [infra] Remove Calmbench and ParentRevision bots 2019-11-06 15:03:43 +00:00
checkout Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00
docker [infra] Use POSIX paths for Docker containers 2020-01-03 15:32:47 +00:00
doxygen Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
env Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
flavor [infra] Move app installation to install method 2020-02-25 17:34:21 +00:00
git Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
gsutil Roll recipe dependencies (nontrivial). 2019-06-03 11:25:16 +00:00
infra [infra] Add go_win asset, add InfraTests_Win bot 2019-06-25 12:28:50 +00:00
run Roll recipe dependencies (nontrivial). 2019-10-31 13:45:53 +00:00
vars [infra] Make CheckGeneratedFiles use Clang 2019-11-26 18:04:44 +00:00
README.md

Skia Recipe Modules

This directory contains recipe modules designed to be used by recipes (see infra/bots/recipes). They are all Skia-specific and some are interrelated:

  • builder_name_schema - Helps to derive expected behavior from task (formerly builder) names.
  • core - Use as a starting point for most recipes: runs setup and sync steps.
  • ct - Shared Cluster Telemetry utilities.
  • flavor - Allows the caller to specify a high-level command to run, leaving the platform-specific details to be handled by the specific flavor module.
  • infra - Shared infrastructure-related utilities.
  • run - Utilities for running commands.
  • swarming - Utilities for running Swarming tasks.
  • vars - Common global variables used by Skia recipes/modules.

When you change a recipe module, you generally need to re-train the simulation test:

$ python infra/bots/recipes.py test run --train

Or:

$ cd infra/bots; make train

Each recipe module contains a few files:

  • api.py - This is the meat of the module.
  • __init__.py - Contains a single DEPS variable, indicating the other recipe modules on which this module depends.
  • example.py - Optional, this file contains examples which demonstrate how to use the module and should contain enough tests to achieve 100% coverage for the module. The tests are run using the recipes test command above.