Commit Graph

27 Commits

Author SHA1 Message Date
Kevin Lubick
9c2b7cfe90 [canvaskit] Try some things to reduce GPU test flakiness
1) some flags that "The Internet" says may help
2) retry running the test script up to 3 times.

I wasn't able to reproduce the crashes with a non-Docker
Chrome, only in the Docker container, which was
very hard to debug.

Change-Id: I87f31c32f63b2770d8d5afa6a8e4b90c35dbf0bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255820
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2019-11-21 20:56:42 +00:00
Eric Boren
23f0b1512a [infra] Use CIPD packages from infra repo
Includes recipe hack because Kitchen introduced a directory level:
https://chromium-review.googlesource.com/c/infra/infra/+/1446288

Change-Id: I1afe43ea75964a2940e561f8d2bbfda3dd1f57e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255256
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-11-20 14:02:48 +00:00
Ben Wagner
681a54e77b Use docker recipe module for Docker Build
Bug: skia:9632
Change-Id: I85e0314404105edf6044775d8ff2433104e2b59e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254969
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-19 18:54:49 +00:00
Eric Boren
e2edfba592 [recipes] CanvasKit, PathKit, some others don't need bot_update
Bug: skia:9588
Change-Id: I8dc915f9cedd40b94f37f3d1ae89bb7d4767814f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252186
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-05 18:46:34 +00:00
Eric Boren
2697d14ac6 Reland "[recipes] Assert that Git is obtained from CIPD"
This reverts commit 491eba5f1d.

Reason for revert: Should be fixed

Original change's description:
> Revert "[recipes] Assert that Git is obtained from CIPD"
> 
> This reverts commit 6751f171c6.
> 
> Reason for revert: Missed at least one
> 
> Original change's description:
> > [recipes] Assert that Git is obtained from CIPD
> > 
> > Bug: skia:9538
> > Change-Id: I0e2bed991e099646c89fd87895851caf5d0734b8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251658
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Eric Boren <borenet@google.com>
> 
> TBR=borenet@google.com,kjlubick@google.com
> 
> Change-Id: Ic90ae5672ce605f1667d7f961026303905824032
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9538
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252190
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,kjlubick@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:9538
Change-Id: I2dfbd66c75e6b41a5f63b3f89bf8988827a639d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252480
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-11-04 16:40:29 +00:00
Eric Boren
491eba5f1d Revert "[recipes] Assert that Git is obtained from CIPD"
This reverts commit 6751f171c6.

Reason for revert: Missed at least one

Original change's description:
> [recipes] Assert that Git is obtained from CIPD
> 
> Bug: skia:9538
> Change-Id: I0e2bed991e099646c89fd87895851caf5d0734b8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251658
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,kjlubick@google.com

Change-Id: Ic90ae5672ce605f1667d7f961026303905824032
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9538
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252190
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-11-01 18:57:59 +00:00
Eric Boren
6751f171c6 [recipes] Assert that Git is obtained from CIPD
Bug: skia:9538
Change-Id: I0e2bed991e099646c89fd87895851caf5d0734b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251658
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-11-01 18:47:08 +00:00
Kevin Lubick
588e39a30e [canvaskit] Include CodeReviewSystem on JSON uploaded
Change-Id: Ie70a3a852fdae7d41ae8be4c7bb71d3cf9a5b55b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249805
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2019-10-21 18:03:32 +00:00
Kevin Lubick
3085d9ac7d [canvaskit] Roll chrome version for testing
Also disabling failing perf test.

Change-Id: I5776a5dfba0d429ad6a9d725de26c585e61ba37b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249427
Reviewed-by: Hal Canary <halcanary@google.com>
2019-10-18 17:37:52 +00:00
recipe-roller
a47836e01a Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/f362dc019e5cedc0e5ce334039a16afcbc95dcb4 Reland "[fileutil] Add support for recursive glob" (atyfto@google.com)


R=kjlubick@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3c1a79eb1f1fc8a23bf02ac25f17b8673d7dd199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240416
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-09-10 11:50:47 +00:00
recipe-roller
e7c1b99e63 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/e7fec5ccb9e70bf17b7878e63052a874afa06856 Change is_luci default to True. (mmoss@google.com)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If60c02932df26d29f1aea14cea4a342c4f4f211a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234330
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-08-14 11:16:56 +00:00
Eric Boren
648a1dce1f [infra] Supply revision as target_branch to bot_update
Change-Id: I5d7f92e2f26ebca6b644d09f2f3ea5d443c1e3d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215421
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
2019-06-04 11:34:52 +00:00
recipe-roller
c0b32b3355 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/b5922385482112ce31df891af71854c81662d69e Remove jsonResult defaulting to null (martiniss@google.com)
  https://crrev.com/8eb708a2d5545c549ee462a193891ed7e30d430e [archive] Append file permissions stored in extra attributes (smut@google.com)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2077c009f11e0e2901c24489d04dcbe5633506f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217581
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-03 11:25:16 +00:00
recipe-roller
51ab616bcf Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c2ae1f8b058dc210e2f8b1753aa7184973da36a6 Remove stdout and stderr from expectation files. (gbeaty@chromium.org)


R=stephana@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idc32b8c2c426c0bc60b0c57476258b649d9620d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216355
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-28 19:24:02 +00:00
Kevin Lubick
d618027eaf [pathkit/canvaskit] Address race when uploading results
As long as I'm updating the image, update Chrome from 68 to 72

Bug: skia:8844
Change-Id: Ia62ffb062b2c137c89f6e4eb3be30c22ca375bae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/200508
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2019-03-12 21:45:04 +00:00
Robert Iannucci
f4d4b87269 [recipes] Manual roll.
Update package_repo_resource usage.

depot_tools:
  https://crrev.com/2b14855de938012c055713a2943dc10ca1a730d3 [cipd] Update CIPD 2.2.15 -> 2.2.16. (vadimsh@chromium.org)
  https://crrev.com/efc7e91fa76494f7f134926a384f4c0101ae982c [recipes] Manual roll. (iannucci@chromium.org)
  https://crrev.com/6344e8c6379b7eb5f05676e5489fff0c19eff894 [recipes] Manual roll (iannucci@chromium.org)
  https://crrev.com/9255c4f22809b69d9ca6c75727d3cc472c1e5518 Manual roll to unstick autoroller (iannucci@chromium.org)

recipe_engine:
  https://crrev.com/a42dce4e0b0db8bd6b7688030e723197919306db [engine] Rewrite/simplify loading infrastructure. (iannucci@chromium.org)
  https://crrev.com/a30783346dbde9e790f38cab3d2bb132382e9341 [recipe_deps] Fix slash-separated recipe names on windows. (iannucci@chromium.org)
  https://crrev.com/7e953fd1856282691c74d0b32791e2cdd090803e [recipe_engine] Fix autoroll json output. (iannucci@chromium.org)

R=rmistry@google.com

Bug: 914992
Change-Id: I600be66b7a2663375f3e823e9a1fd4a2acfda65b
Reviewed-on: https://skia-review.googlesource.com/c/192922
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Auto-Submit: Robbie Iannucci <iannucci@google.com>
2019-02-17 21:24:01 +00:00
Ben Wagner
325778b888 Update android-skqp Docker image to accept licenses
Set DOCKER_CONFIG env var for all docker commands so that the Swarming
task uses the config created here:
https://skia.googlesource.com/buildbot/+/06aaf21b5d91a68de7c02aafc0fdee8531ba0c21/scripts/run_on_swarming_bots/install_docker.py#65

Bug: skia:8698
Change-Id: I731a99abc274caa498af8dde5142a7e6a6b6eca3
Reviewed-on: https://skia-review.googlesource.com/c/185690
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2019-01-22 23:34:58 +00:00
recipe-roller
96ea340182 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/9afc6490c14847e5d73fb041f0def4d95f36821b Manual roll for new run logic (martiniss@google.com)
recipe_engine:
  https://crrev.com/ee0e2c37c03936c3683be03d215f58d47d04ee08 Always use new run logic (martiniss@google.com)


R=jcgregorio@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If6d406af7bc8f38e95a98b046b5d0719b4adeac7
Reviewed-on: https://skia-review.googlesource.com/c/166622
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-10-31 16:38:00 +00:00
Kevin Lubick
3d99b1e347 Add Correctness tests for CanvasKit
Also make a CPU only and GPU only build (although
the latter still has a lot of CPU logic).

Bug: skia:
Change-Id: I857c2300021c2adb5344865c28e4ad3e8d332954
Reviewed-on: https://skia-review.googlesource.com/c/162022
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-10-16 14:32:28 +00:00
Kevin Lubick
3fc1c0dfaa Fix gold aggregator for pathkit
Bug: skia:
Change-Id: Ib54625fa54b0c07ee72b3bec9cf13a3e9556cdf8
Reviewed-on: https://skia-review.googlesource.com/c/161626
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-10-12 14:57:43 +00:00
Kevin Lubick
8e9750d3c5 Add CanvasKit build
Building CanvasKit uses very similar logic to PathKit, so there
was a fair amount of copy/paste/customize.

Fixes the name of skia.js/wasm -> canvaskit.js/wasm and
adds a package.json to formally track versions.

Also move PathKit helper scripts to align better.

Docs-Preview: https://skia.org/?cl=160463
Bug: skia:
Change-Id: Ie75b30592dcc4d520dca41f6f5579006aaa8849b
Reviewed-on: https://skia-review.googlesource.com/c/160463
Reviewed-by: Eric Boren <borenet@google.com>
2018-10-09 13:56:56 +00:00
Eric Boren
858f648bda [infra] Update recipe deps, fix usage of bot_update
Bug: skia:
Change-Id: I3829035a33a3bf147dd4ca90a0a45443a5b28eb6
Reviewed-on: https://skia-review.googlesource.com/154042
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-09-12 18:58:29 +00:00
Kevin Lubick
c7d057103e [PathKit] Move from experimental to modules
Add in Code of Conduct and Contributing.md as well.

Docs-Preview: https://skia.org/?cl=150901
Bug: skia:8216
Change-Id: Ia881124f653617ad0b7b91f40ba21de2c13220a6
Reviewed-on: https://skia-review.googlesource.com/150901
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-08-31 14:18:16 +00:00
Kevin Lubick
82999c037e Add docker-based infrastructure for Gold/lottie-web integration
This adds 2 docker containers (based on the ones used for PathKit
added in https://skia-review.googlesource.com/c/skia/+/147042)
which bundle Chrome and puppeteer to allow the lottiecap.js
to be run anywhere.

This adds a recipe (test_lottie_web.py) to drive the docker
container and do a little bit of set-up (and a few docs/bug
fixes discovered in the test_pathkit.py that it was based on).

Additionally, this modifies lottiecap.js to support POSTing
output to a running go server (again, the same as PathKit)
which has the image data hashed and the metadata added to
a large JSON output.

This re-works driver.html to avoid re-loading the JSON object
25 times. The performance boost is important because, right now,
the lottie files are processed individually.

In a future CL, I want to address the two TODOs in
lottie-web-aggregator.go

Bug: skia:8108
Change-Id: I100c9ce23dcc5033a27287211cbf0db898960da9
Reviewed-on: https://skia-review.googlesource.com/149282
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-28 15:16:22 +00:00
Kevin Lubick
f14a3c059f [PathKit] Add asm.js build and test jobs
Consolidates the karma files into one for docker/asmjs/wasm and all
combinations.

The asm.js build seems to have some small imprecisions that we didn't
see as much as with WASM, probably due to JS limitations/differences
to c++'s floats.

To address these, I've marked some (5) tests in PathOps* as flaky
because they fail on Release, Debug or Test versions of the asm.js build.

Other then that, asm.js seems basically identical to the WASM.

WASM is much smaller, 416k vs 877k and seems to load faster (not
measured).

Note to reviewers:
example.html was copied from npm-wasm version, so doesn't need
further review.

Bug: skia:8216
Change-Id: Ib92b90fa6c598de85a0be319d46b25693ae5aaa4
Reviewed-on: https://skia-review.googlesource.com/148396
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-22 17:19:10 +00:00
Kevin Lubick
29d501cddc Make verbose.log optional in upload_dm_results
Will land/test after https://skia-review.googlesource.com/c/skia/+/147042

Bug: skia:
Change-Id: I381e369df7fb904c81948f36dbad679d3f430415
Reviewed-on: https://skia-review.googlesource.com/147202
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-16 17:54:13 +00:00
Kevin Lubick
a0ba612bb2 [PathKit] Adding test infrastructure to support Gold output
To get the gold images out of the browser tests, this adds
testReporter.js and pathkit_aggregator.go.  testReporter bundles
up the output as a base64 encoded PNG and sends it over the local
network to pathkit_aggregator.  pathkit_aggregator will keep
a list of test results reported in this way and write the PNGs
to /OUT of the container (which is the swarming output directory).
Finally, after all the tests are run, the helper script "test_pathkit.sh"
makes a POST request that creates the JSON file that gold expects
(following the schema https://github.com/google/skia-buildbot/blob/master/golden/docs/INGESTION.md)

pathkit_aggregator takes many command line arguments which control
the keys that Gold needs in order to ingest and handle the data.
Of note, this creates a new set (i.e. source_type) of gold images
called "pathkit", which will distinguish it from "gm", "image", etc.

There will be at least 2 sub-sets of "pathkit" images, "canvas" and "svg",
(representing the 2 output types of PathKit).  This CL doesn't
quite handle SVG yet, as it needs a way to convert SVG to PNG in the
browser and will be addressed in a follow up CL.

A "standard" gm is sized at 600x600. This was arbitrarily picked.

Note that the functions in testReporter.js return Promises based
on the fetch requests to post the data. This eliminates the race
condition between the /report_gold_data and /dump_json since
running the karma tests won't return until all reports are done.

Other changes of note:
 - Adds go to karma-chrome-tests container.
 - renames recipe_modules/build/wasm.py -> pathkit.py to be consistent with
the name of test_pathkit.py and make for easier grepping.
 - Increases the JS test timeout to 10s (up from 5) to hopefully avoid
the flakes seen in the Debug Test.

Bug: skia:8216
Change-Id: Ic2cad54f3d19cc16601cf2e9a87798db1e6887a2
Reviewed-on: https://skia-review.googlesource.com/147042
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-15 19:25:42 +00:00