skia2/infra/bots/recipe_modules
Mike Klein 965451ed83 jumper, explicitly tag functions as functions
This helps the linker decide to rewrite bl -> blx when linking
Thumb2 SkJumper.o code with ARM SkJumper_generated.o.

The reason Android wasn't failing is because it somehow figured
out to do this without these .type directives.  We use a different
toolchain for ChromeOS builds that I guess needs more handholding.

BUG=skia:6471

CQ_INCLUDE_TRYBOTS=skia.primary:Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug

Change-Id: I4a5c50b6ab7683512776c70aec6e9a75a0999787
Reviewed-on: https://skia-review.googlesource.com/13464
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-04-13 21:21:43 +00:00
..
builder_name_schema Roll recipe DEPS again 2017-02-21 15:23:11 +00:00
core Clean up no-longer-used recipes stuff 2017-04-10 14:27:58 +00:00
ct Roll Recipe DEPS 2017-02-27 14:32:26 +00:00
flavor jumper, explicitly tag functions as functions 2017-04-13 21:21:43 +00:00
infra Change infra recipe module to use the Go asset 2017-04-13 16:26:22 +00:00
run Fix symbolization of ASAN crashes 2017-04-11 14:32:39 +00:00
swarming Manually roll recipes 2017-03-27 13:48:19 +00:00
vars Recipes: Remove depot_tools path hack 2017-04-10 16:01:46 +00:00
README.md Add infra/bots/Makefile to simplify test/train 2017-04-13 17:01:17 +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 simulation_test 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 simulation_test command above.