skia2/infra/bots/recipe_modules
Ravi Mistry 0ac06e4726 Bot updates for SkiaCT tasks.
Use gcc-4.8 when compiling for Ubuntu14. Rename the CT tasks to make it
clear their child tasks run on Ubuntu14.

Move to Debian-9.1 bots created with the changes in
https://skia-review.googlesource.com/c/31281 and
https://skia-review.googlesource.com/c/31820

Change the cache dir used by the ct_skps recipe so that changing the
bot name doesn't invalidate the cache.

Bug: skia:6921
Bug: skia:6818
No-Try: true
Change-Id: Idaac8187427b5c2c7bffe66ad6674496b8cd0c0e
Reviewed-on: https://skia-review.googlesource.com/31242
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-08-08 14:17:49 +00:00
..
builder_name_schema Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
core Chromium lkgr is no longer updated. Use lkcr 2017-08-03 12:41:36 +00:00
ct Remove dependency on recipe_engine/shutil. 2017-07-10 13:46:35 +00:00
env Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
flavor Bot updates for SkiaCT tasks. 2017-08-08 14:17:49 +00:00
git Use chrome-infra Git CIPD package 2017-06-06 12:45:11 +00:00
infra Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
isolate [recipes] Switch to file module from recipe_engine 2017-06-16 17:41:28 +00:00
run [recipes] Switch to file module from recipe_engine 2017-06-16 17:41:28 +00:00
skia_swarming Remove dependency on recipe_engine/shutil. 2017-07-10 13:46:35 +00:00
swarming [recipes] Switch to file module from recipe_engine 2017-06-16 17:41:28 +00:00
swarming_client Rename example.py -> examples/full.py for all modules 2017-06-02 11:40:36 +00:00
vars Add a bot to verify that generated SKSL files have not been hand-edited 2017-07-28 12:20:47 +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.