skia2/infra/bots/recipes
Ben Wagner 64b894b98c Try a workaround for the Pixel ASAN push failure
There have been many recent instances where ASAN tasks running on Pixel
devices have failed to push resources to the device due to
"secure_mkdirs failed: No such file or directory." The theory is that
because the "Setting up device to run ASAN" step reboots the device, the
device isn't actually ready at the time it reports being ready. This CL
adds a sleep to the ASAN setup to work around this problem.

Here are recent examples of this failure:
https://chromium-swarm.appspot.com/task?id=4279aeb78961de10
https://chromium-swarm.appspot.com/task?id=42765d9f44ca4610
https://chromium-swarm.appspot.com/task?id=427a66499846e910
https://chromium-swarm.appspot.com/task?id=4276d85a8f270d10
https://chromium-swarm.appspot.com/task?id=42765cb3ff062a10

Change-Id: Iddf78622de3cd88ea28a532380762baafe479eb7
Reviewed-on: https://skia-review.googlesource.com/c/185320
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2019-01-18 19:58:11 +00:00
..
android_compile.expected [Android compile bot] Fix path to GS file name 2018-12-07 18:02:12 +00:00
bookmaker.expected [infra] Set GOCACHE in tasks that use go. 2018-12-19 15:09:59 +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 Revert "[infra] Flutter bot should sync to origin/skia-master" 2018-12-16 22:09:11 +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 [infra] Set GOCACHE in tasks that use go. 2018-12-19 15:09:59 +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 IntelIris655 Win10 jobs. 2019-01-04 21:24:59 +00:00
recreate_skps.expected [infra] Set GOCACHE in tasks that use go. 2018-12-19 15:09:59 +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 Try a workaround for the Pixel ASAN push failure 2019-01-18 19:58:11 +00:00
update_go_deps.expected [infra] Set GOCACHE in tasks that use go. 2018-12-19 15:09:59 +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] Use go_deps asset for Bookmaker tasks 2018-12-19 14:41:32 +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 IntelIris655 Win10 jobs. 2019-01-04 21:24:59 +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 Exclude PromiseImageTextureReuseDifferentConfig from Metal bots 2019-01-17 02:02:30 +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.