skia2/infra/bots/recipe_modules
Ben Wagner 6c30e74dd0 Add DDL jobs for Intel
To work around skia:8709, I'm moving the DDL tests to IntelIris640. The
ASAN jobs still show memory leaks in the driver, but at least I can
identify which calls are leaking and suppress the LSAN warnings.

Adds an SK_ENABLE_SCOPED_LSAN_SUPPRESSIONS define that indicates that
the LSAN header files are available, which is set in recipes for the
Linux ASAN builds. Adds __lsan::ScopedDisabler in four locations for
two Vulkan API calls:
 - CreateGraphicsPipelines in GrVkPipeline::Create and
   GrVkCopyPipeline::Create
 - CreateDescriptorSetLayout in
   GrVkDescriptorSetManager::DescriptorPoolManager::DescriptorPoolManager
   constructor (2 calls)

Also adds a regular suppression for libxcb.so.

See bugs listed below for more details on the leaks.

Bug: skia:8710, skia:8712, skia:8713
Change-Id: I55c6e5d483b4aeed5cd44c64219539ca7214187f
Reviewed-on: https://skia-review.googlesource.com/c/184071
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
2019-02-06 15:53:32 +00:00
..
build Add DDL jobs for Intel 2019-02-06 15:53:32 +00:00
builder_name_schema Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
checkout Revert "[infra] Flutter bot should sync to origin/skia-master" 2018-12-16 22:09:11 +00:00
doxygen Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
env Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
flavor Add DDL jobs for Intel 2019-02-06 15:53:32 +00:00
git Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
gsutil Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
infra [infra] Set GOCACHE in tasks that use go. 2018-12-19 15:09:59 +00:00
run Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
vars Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +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.