skia2/infra/bots/recipes
Mike Klein c3231789e2 retry fast adb push
This time, push host/* instead of host/.  This cuts the time it takes to
push resources from ~11m to ~8s on Android One phones.

I tried ignoring version files and blindly pushing packages, but in the
end kept the version files for compatibility with bots running at head
(or after this lands, bisecting bots), and those version files still do
save a good chunk of time.  In PS12 I faked version file mismatch and it
took ~2m extra to push all the packages back.

I also tried but got nervous about --sync so I've left it for a follow
up.  It's not clear that we can rely on it for packages where files will
be removed, but it's probably fine for resources/ if we want to go
faster than 8s.

Change-Id: I84de90f13177393e4d8a599ef880545538b6af81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375076
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-24 20:04:04 +00:00
..
check_generated_files.expected Remove some ableist language from infra parts 2021-01-29 17:36:18 +00:00
compile.expected add Mac/Win FM bots 2021-02-01 17:35:52 +00:00
compute_buildstats.expected [infra] Update recipe dependencies 2020-08-03 11:34:57 +00:00
compute_test.expected Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
housekeeper.expected [infra] Update recipe dependencies 2020-08-03 11:34:57 +00:00
infra.expected [infra] Fix InfraTests recipe for other repos which use it 2021-02-23 17:42:38 +00:00
perf_canvaskit.expected [canvaskit] Add full build to npm release. 2021-02-23 14:40:43 +00:00
perf_pathkit.expected [canvaskit] Update Chrome version and use npm ci for tests 2020-12-14 15:03:42 +00:00
perf_skottietrace.expected retry fast adb push 2021-02-24 20:04:04 +00:00
perf_skottiewasm_lottieweb.expected Remove offensive content from lottie-samples 2021-02-19 21:12:48 +00:00
perf.expected retry fast adb push 2021-02-24 20:04:04 +00:00
recreate_skps.expected Use GCLIENT_PY3=0 in recreate_skps.py 2020-08-26 11:24:13 +00:00
skpbench.expected retry fast adb push 2021-02-24 20:04:04 +00:00
sync_and_compile.expected add Mac/Win FM bots 2021-02-01 17:35:52 +00:00
test_canvaskit.expected [canvaskit] Add full build to npm release. 2021-02-23 14:40:43 +00:00
test_lottie_web.expected Fix docker command for lottie web 2020-07-06 18:24:23 +00:00
test_pathkit.expected [canvaskit] Update Chrome version and use npm ci for tests 2020-12-14 15:03:42 +00:00
test_skqp_emulator.expected Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
test.expected retry fast adb push 2021-02-24 20:04:04 +00:00
upload_buildstats_results.expected Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
upload_dm_results.expected Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
upload_nano_results.expected Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
check_generated_files.py Fix CheckGeneratedFiles bot. 2021-01-26 20:01:11 +00:00
compile.py [infra] Fix build_task_drivers.sh, update infra dep 2020-01-08 14:53:41 +00:00
compute_buildstats.py remove more blacklists 2020-07-24 18:14:29 +00:00
compute_test.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
housekeeper.py [recipes] Move app_name into flavor.setup() 2020-02-27 18:06:15 +00:00
infra.py [infra] Fix InfraTests recipe for other repos which use it 2021-02-23 17:42:38 +00:00
perf_canvaskit.py [canvaskit] Add full build to npm release. 2021-02-23 14:40:43 +00:00
perf_pathkit.py [canvaskit] Update Chrome version and use npm ci for tests 2020-12-14 15:03:42 +00:00
perf_skottietrace.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
perf_skottiewasm_lottieweb.py Remove offensive content from lottie-samples 2021-02-19 21:12:48 +00:00
perf.py Remove some ableist language from infra parts 2021-01-29 17:36:18 +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 Use GCLIENT_PY3=0 in recreate_skps.py 2020-08-26 11:24:13 +00:00
skpbench.py Pipe ReducedOpsTaskSplitting into skpbench.py 2021-02-12 19:32:02 +00:00
sync_and_compile.py Remove old devices.json and code 2020-07-23 12:24:26 +00:00
test_canvaskit.py [canvaskit] Add full build to npm release. 2021-02-23 14:40:43 +00:00
test_lottie_web.py Remove some non-inclusive language in recipes 2020-07-31 19:29:54 +00:00
test_pathkit.py [canvaskit] Update Chrome version and use npm ci for tests 2020-12-14 15:03:42 +00:00
test_skqp_emulator.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
test.py Update SVG corpus on gold to include images 2021-02-01 17:51:02 +00:00
upload_buildstats_results.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
upload_dm_results.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +00:00
upload_nano_results.py Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs 2020-04-07 12:18:06 +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.