skia2/infra/bots/recipes
Brian Osman 044044f5a2 Update win_toolchain, and refactor how it's built
The old win_toolchain script required a Chromium checkout, and
extracted portions of the win_toolchain from that to build the
Skia asset. Instead, use the depot_tools script that assembles
a toolchain from a locally installed MSVC.

The create script doesn't do that, but relies on the user to
run that script first. Automating everything would be a nice
follow-up.

With the new strategy, the toolchain directory is simpler, and
no longer contains the depot_tools kruft or extra directories.
Adjust the bot scripts accordingly. (Renaming the directory to
win_toolchain from 't' would be a nice touch, too).

Finally, I built the new toolchain with the updated process,
and included the ARM64 compiler and libraries, so we can set
up a bot to build Windows ARM64.

Docs-Preview: https://skia.org/?cl=176968
Bug: skia:8569
Change-Id: I4bdf3cfb29d50f4464853445d0226241e70c33b4
Reviewed-on: https://skia-review.googlesource.com/c/176968
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-12-12 15:50:16 +00:00
..
android_compile.expected [Android compile bot] Fix path to GS file name 2018-12-07 18:02:12 +00:00
bookmaker.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
calmbench.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
check_generated_files.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
compile.expected Update win_toolchain, and refactor how it's built 2018-12-12 15:50:16 +00:00
compute_buildstats.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
compute_test.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
housekeeper.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
infra.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
perf_canvaskit.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
perf_pathkit.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
perf.expected Add additional test to blacklist for 405 2018-12-11 22:22:06 +00:00
recreate_skps.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
skpbench.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
skqp_test.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
test_canvaskit.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
test_lottie_web.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
test_pathkit.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
test_skqp_emulator.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
test.expected Add glenarrow to GPU BonusConfigs bots 2018-12-06 15:22:11 +00:00
update_go_deps.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
upload_buildstats_results.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
upload_calmbench_results.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
upload_dm_results.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
upload_nano_results.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
upload_skiaserve.expected Roll recipe dependencies (nontrivial). 2018-10-31 16:38:00 +00:00
android_compile.py [Android compile bot] Fix path to GS file name 2018-12-07 18:02:12 +00:00
bookmaker.py [infra] Add new go_deps asset 2018-08-03 18:33:24 +00:00
calmbench.py Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00
check_generated_files.py [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
compile.py Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +00:00
compute_buildstats.py Add Bloaty (with demangling) for wasm BuildStats 2018-10-18 19:00:38 +00:00
compute_test.py Add OpenCL test job that runs hello-opencl. 2018-06-29 13:25:17 +00:00
housekeeper.py Remove old code size analysis 2018-10-10 14:25:17 +00:00
infra.py [infra] Add new go_deps asset 2018-08-03 18:33:24 +00:00
perf_canvaskit.py [canvaskit] Add perf jobs 2018-10-17 19:41:16 +00:00
perf_pathkit.py [canvaskit] Add perf jobs 2018-10-17 19:41:16 +00:00
perf.py Add additional test to blacklist for 405 2018-12-11 22:22:06 +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 [infra] Add new go_deps asset 2018-08-03 18:33:24 +00:00
skpbench.py Disable --gpuThreads when skpbenching DDLs 2018-06-26 18:33:42 +00:00
skqp_test.py [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
test_canvaskit.py Add Correctness tests for CanvasKit 2018-10-16 14:32:28 +00:00
test_lottie_web.py [infra] Update recipe deps, fix usage of bot_update 2018-09-12 18:58:29 +00:00
test_pathkit.py Add Correctness tests for CanvasKit 2018-10-16 14:32:28 +00:00
test_skqp_emulator.py Add Build and Test jobs for SKQP using docker. 2018-10-08 19:17:25 +00:00
test.py Add glenarrow to GPU BonusConfigs bots 2018-12-06 15:22:11 +00:00
update_go_deps.py [infra] Add nightly UpdateGoDEPS 2018-09-27 19:54:26 +00:00
upload_buildstats_results.py Use right bucket for buildstats 2018-10-08 19:23:56 +00:00
upload_calmbench_results.py [recipes] Rename some modules and files 2018-05-24 14:06:55 +00:00
upload_dm_results.py Fix upload_dm_results 2018-08-20 16:44:24 +00:00
upload_nano_results.py Add BuildStats pipeline for PathKit binaries 2018-10-08 18:15:32 +00:00
upload_skiaserve.py Reland [recipes] Isolate build outputs with no subdirs 2018-06-01 15:18:46 +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.