skia2/infra/bots/recipe_modules
Brian Osman 6da1d32c16 Always use the Win 10 SDK, and optionally detect/use the latest version
For bot toolchain builds, we were already using the Win 10 SDK. Local
2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
we always use the Win 10 SDK exclusively.

This adds two new GN arguments: win_sdk, which points at the top level
Windows 10 SDK directory, and win_sdk_version, which can be used to
pin to a specific version. (Otherwise we use a script to detect the
most recent version).

Bug: skia:
Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
Reviewed-on: https://skia-review.googlesource.com/81304
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-06 21:02:09 +00:00
..
builder_name_schema Add a GPU calmbench bot 2017-11-02 19:04:21 +00:00
core Roll recipe dependencies (nontrivial). 2017-11-01 19:00:50 +00:00
ct Update CT bots to Debian-9.2 2017-11-29 18:45:05 +00:00
env Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
flavor Always use the Win 10 SDK, and optionally detect/use the latest version 2017-12-06 21:02:09 +00:00
git Use chrome-infra Git CIPD package 2017-06-06 12:45:11 +00:00
gsutil Update CT bots to Debian-9.2 2017-11-29 18:45:05 +00:00
infra Add Linux CPU Coverage Bot 2017-10-09 19:58:34 +00:00
isolate Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
run Remove obsolete iOSShell references from infra scripts 2017-11-22 16:06:05 +00:00
skia_swarming Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
swarming Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
swarming_client Manually roll recipe DEPS 2017-09-27 17:24:38 +00:00
vars Add a GPU calmbench bot 2017-11-02 19:04:21 +00:00
README.md Use new recipes.py test command 2017-04-18 13:57:56 +00:00

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.