skia2/infra/bots/recipes
Leon Scroggins III 94aaf7cdf5 Split building encoding from decoding
Bug: skia:9756

In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.

Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.

Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.

Change IsPng signature to match other SkCodecs.

Change-Id: Iec8466ee1b76bc3d1e377c24201068b776cd7718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273768
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-03-06 18:50:40 +00:00
..
android_compile.expected [Android compile bots] Add comment to CL when both nopatch and withpatch builds fail 2019-10-28 14:55:01 +00:00
check_generated_files.expected [infra] Add ccache for mac default builds. 2020-02-11 13:18:36 +00:00
compile.expected [infra] Fix build_task_drivers.sh, update infra dep 2020-01-08 14:53:41 +00:00
compute_buildstats.expected Create code size treemaps for executable containing GL/Vulkan 2019-12-20 15:01:16 +00:00
compute_test.expected Roll recipe dependencies (nontrivial). 2019-09-10 11:50:47 +00:00
g3_compile.expected [G3 compile bot] Add comment to CL when there is an interesting failure 2019-11-22 16:08:03 +00:00
housekeeper.expected Reland "[recipes] Assert that Git is obtained from CIPD" 2019-11-04 16:40:29 +00:00
infra.expected [infra] Make infra tests idempotent 2019-07-09 19:04:47 +00:00
perf_canvaskit.expected [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
perf_pathkit.expected [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
perf_skottietrace.expected [infra] Move app installation to install method 2020-02-25 17:34:21 +00:00
perf_skottiewasm_lottieweb.expected [recipes] CanvasKit, PathKit, some others don't need bot_update 2019-11-05 18:46:34 +00:00
perf.expected [recipes] Re-disable SKPs on iOS and images on GPU in nanobench 2020-03-03 19:43:32 +00:00
recreate_skps.expected Reland "[recipes] Assert that Git is obtained from CIPD" 2019-11-04 16:40:29 +00:00
skpbench.expected [infra] Handle failure from addr2line 2020-01-02 13:16:16 +00:00
skqp_test.expected Roll recipe dependencies (nontrivial). 2019-09-10 11:50:47 +00:00
sync_and_compile.expected Split building encoding from decoding 2020-03-06 18:50:40 +00:00
test_canvaskit.expected [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
test_lottie_web.expected [recipes] CanvasKit, PathKit, some others don't need bot_update 2019-11-05 18:46:34 +00:00
test_pathkit.expected [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
test_skqp_emulator.expected [recipes] CanvasKit, PathKit, some others don't need bot_update 2019-11-05 18:46:34 +00:00
test.expected [recipes] Reland DM recipe changes with fix 2020-03-02 15:39:52 +00:00
upload_buildstats_results.expected Roll recipe dependencies (nontrivial). 2019-09-10 11:50:47 +00:00
upload_dm_results.expected Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00
upload_nano_results.expected Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00
android_compile.py [Android compile bots] Add comment to CL when both nopatch and withpatch builds fail 2019-10-28 14:55:01 +00:00
check_generated_files.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
compile.py [infra] Fix build_task_drivers.sh, update infra dep 2020-01-08 14:53:41 +00:00
compute_buildstats.py Create code size treemaps for executable containing GL/Vulkan 2019-12-20 15:01:16 +00:00
compute_test.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
g3_compile.py [G3 compile bot] Add comment to CL when there is an interesting failure 2019-11-22 16:08:03 +00:00
housekeeper.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
infra.py [infra] Make infra tests idempotent 2019-07-09 19:04:47 +00:00
perf_canvaskit.py [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
perf_pathkit.py [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
perf_skottietrace.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
perf_skottiewasm_lottieweb.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
perf.py [recipes] Re-disable SKPs on iOS and images on GPU in nanobench 2020-03-03 19:43:32 +00:00
README.md Re-re-land "added GrSkSLFP and converted DitherEffect to use it" 2018-07-31 15:18:03 +00:00
recreate_skps.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
skpbench.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
skqp_test.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
sync_and_compile.py [infra] Fix build_task_drivers.sh, update infra dep 2020-01-08 14:53:41 +00:00
test_canvaskit.py [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
test_lottie_web.py [recipes] CanvasKit, PathKit, some others don't need bot_update 2019-11-05 18:46:34 +00:00
test_pathkit.py [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
test_skqp_emulator.py [recipes] CanvasKit, PathKit, some others don't need bot_update 2019-11-05 18:46:34 +00:00
test.py [recipes] Reland DM recipe changes with fix 2020-03-02 15:39:52 +00:00
upload_buildstats_results.py Reland "Use integer patchset and issue variables." 2019-10-08 11:28:17 +00:00
upload_dm_results.py Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00
upload_nano_results.py Remove Debian9 GCC jobs and related code 2019-11-24 23:51:04 +00:00

Skia Recipes

These are the top-level scripts which run inside of Swarming tasks to perform all of Skia's automated testing.

To run a recipe locally:

$ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ...

Each recipe may have its own required properties which must be entered as key/value pairs in the command.

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

$ python infra/bots/recipes.py test train

Or:

    $ cd infra/bots; make train

The test generates expectations files for the tests contained within each recipe which illustrate which steps would run, given a particular set of inputs. Pay attention to the diffs in these files when making changes to ensure that your change has the intended effect.