Commit Graph

3351 Commits

Author SHA1 Message Date
Ravi Mistry
c5c38dec95 [infra] Move TSAN_Vulkan jobs from Golo machines to Skolo
This change does the following:
* Removes 2 Golo Test-TSAN_Vulkan jobs because their counterparts already exist in Skolo.
* Moves 1 Golo Test-TSAN_Vulkan job to Skolo.

Bug: skia:13129
Change-Id: I28b40320c831d109aa4f8778ddc1d03be9473592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526916
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-05 19:57:24 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2fff9bf2bf Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idc0b092dc5a35dca3a41bd8e4348e23016d87fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527418
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-04-04 21:42:58 +00:00
Eric Boren
08a22ac147 [infra] Make Go asset use "copy" install mode
This fixes an issue with "go embed" not liking symlinks.

Bug: skia:13126
Change-Id: I994751e63ec467e37555f5bfc192243498b0d6cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527057
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2022-04-04 14:00:04 +00:00
Brian Osman
087b5a2fff Disable all unit tests on CommandBuffer Test bots
Temporary workaround for crashes that are blocking the Chromium -> Skia
roller.

Bug: skia:13040
Change-Id: I684eb0d0f63fc7e7949a1205ceef16a44eaf5148
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526679
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-01 21:03:17 +00:00
Ravi Mistry
30a50f3df5 Use updated GPU driver version for GOLO bots
Bug: chromium:1309590
Change-Id: I2542bdfd5bc18f73fb07f6248d84a5eb0c5ad069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524001
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-01 18:01:23 +00:00
John Stiles
ee9ecfa478 Disable test OutParamsAreDistinctFromGlobal on Wembley.
Change-Id: I8a2bd5596b10f76b77cfa834cc5d592c249457ee
Bug: skia:13115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526256
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-03-31 14:12:03 +00:00
John Stiles
61e7d06c48 Remove skia_compile_processors gn flag.
This flag was meant to control compilation of .fp files, which no longer
exist. Its only meaning now is a synonym for `skia_compile_sksl_tests`.
If you had `skia_compile_processors` enabled in your gn args, you can
replace it with `skia_compile_sksl_tests`.

Change-Id: I49fe58aaf0e60d3998ec43c51c1372a6acad980a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526028
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-30 22:01:30 +00:00
John Stiles
d370e89353 Disable test OutParamsAreDistinctFromGlobal on some platforms.
Windows + Intel GLSL and Android + Adreno GLSL do not recognize aliasing
against the global and fail the test.

Change-Id: I4c1f950f7addf6691a8db989d93b727dbc97742e
Bug: skia:13115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526023
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-30 19:58:38 +00:00
Kevin Lubick
a43a68a015 [infra] Switch Perf-Debug-ASAN for Perf-Release-ASAN
Also move some more Perf-ASAN jobs to Test-ASAN

Followup to http://review.skia.org/525191

Change-Id: Ic2df058c91f4f07311e4afc7fb68a6b5ed12f592
Bug: 1309590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525836
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-03-30 18:23:32 +00:00
Kevin Lubick
556ca8f7ee [includes] Enforce IWYU for //tools/debugger/...
This moves the Build-Debian10-BazelClang-x86_64-Release-IWYU
job from experimental to on when a file in one of the
folders that we enforce IWYU is modified (currently
for svg, sksl, and now, debugger).

Change-Id: Ia6fe1e7b30fc486db3eb081b6a64bc4c250cbf0b
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525796
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-30 13:53:13 +00:00
Kevin Lubick
f5ae4c7e15 [bazel] Use RBE when building task drivers
Local measurements show that using RBE (with a warm cache)
vs local can result in a 2x faster build.

No-Try: true
Change-Id: Ib900a90564f105de848c9aeb0b745e5fec77da53
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525637
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-29 18:01:33 +00:00
Kevin Lubick
8442ca1858 [bazel] Run RBE CI tasks on 16 core machines
Because these tasks use RBE, the machines they run on do not
need to be as powerful. In practice, we are seeing a lot of
the build steps be a hit on the remote-cache, so we don't need
the number of Bazel jobs to be as high, so I've arbitrarily
set it to be 100. We can revisit this later if we notice
things are slow.

To facilitate this change, I had to add cloud-platform scope
to all our GCE VMs. There is a script in the infra repo [1]
that helped with this:
go run ./scripts/add_gce_scopes/add_gce_scopes.go \
  --zone us-central1-c --project skia-swarming-bots \
  --scope https://www.googleapis.com/auth/cloud-platform \
  --instance skia-e-gce-100,skia-e-gce-101,...

[1] b103ea24f5/scripts/add_gce_scopes/add_gce_scopes.go

No-Try: true
Change-Id: I7f1e7b1e9e4a22f5383cf9ce1c8c0350e62b5283
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525577
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-29 18:00:34 +00:00
Kevin Lubick
a753b0da89 [infra] Move ASAN jobs from Golo machines to Skolo
There are a few driver issues on the Golo machines that we
are trying to work out.

This removes 2 Perf-ASAN jobs, as one is probably sufficient
given that we have Test-ASAN variants too.

Change-Id: Id2aa492a64706562286b820709f082f2374e2222
Bug: 1309590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525191
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-03-29 15:09:19 +00:00
Greg Daniel
e09592ede7 [graphite] Upload graphite results from bots.
Bug: skia:12974
Change-Id: I3524b7a7d15e5a4c55d6af5a6a1a0e0113ea76e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525319
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-29 13:06:57 +00:00
Kevin Lubick
1ddbe1aa69 [bazel] Use bigger disk when compiling task drivers
The root disk on our GCE VMs typically only have 15GB
and have a much larger disk attached to them.

We want the Bazel cache to be on this larger disk so
we don't run out of disk space as often.

BuildTaskDrivers was not doing that, but the task
drivers which use Bazel are.

Change-Id: I0f797188576707341972a1db7418e8916633333c
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525456
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-03-29 12:47:06 +00:00
Kevin Lubick
a3ff876e16 [bazel] Add CQ job to warn if Bazel files need to be regenerated.
This adds Housekeeper-PerCommit-CheckGeneratedBazelFiles

Error and resolution http://screen/38UwJ28vtucu75Z

Change-Id: If12a6a98900fc492f0809b28fc688789c18edc15
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525237
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-28 22:16:30 +00:00
Kevin Lubick
c40158ab98 [bazel] Add CI job that uses RBE to enforce includes
The toolchain now uses extract_ar from
https://skia-review.googlesource.com/c/buildbot/+/524764
which is a static executable to extract the .deb files.
This was necessary because the llvm-ar that had previously
been used requires glibc 2.31+ to run, but our Debian10
machines on Swarming have an older version (2.28).

A longer-term fix is to have Bazel support .ar files,
which I plan to attempt to contribute this week.

The RBE task will be added as an experimental CQ job, to
see how it handles the load of running often. With the
remote execution cache, I hope it performs well, once
the toolchains are cached on both the Swarming
machines and in the RBE workers.

Note: We had to add several files to the CAS spec
(see compile_cas.go) which are required for Bazel to work.

Change-Id: Ie70c70d5f33768c957760f9eeb7835025109b487
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524759
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-28 13:56:16 +00:00
Robert Phillips
6475432767 [graphite] Add failure mode to Recorder::snap
Bug: skia:12701
Change-Id: Ib7e52f26b31cfed8fb4da1929755035a69951ca5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524220
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-25 17:49:53 +00:00
Kevin Lubick
db95dbe93c [infra] Remove flaky ProcDump jobs
Originally rolled out in https://skia-review.googlesource.com/c/skia/+/113265/
but currently flakes a bit and does not seem to provide any useful data.

Change-Id: Id73e0d4e3b21190a85f0189fd2ed623ceb803e1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/523356
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-22 14:20:16 +00:00
Ravi Mistry
1d8acd85f6 Trigger all Graphite bots when a change lands in experimental/graphite/.*
Change-Id: I7900eec79e5608bb0456ab5681bc8015b768ead5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522741
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-03-22 12:28:34 +00:00
Leandro Lovisolo
47cf526bec Update Go CIPD packages to v1.18.
Go 1.18 is picky about the location of the GOROOT, so some additional changes were necessary, see //infra/bots/recipe_modules/infra/api.py. These changes are mirrored in the Skia Infrastructure repo, see https://skia-review.googlesource.com/c/buildbot/+/521337.

Bug: skia:13063
Change-Id: I325460ff848a8ce8687f7d4a198d49b6e5f41486
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521338
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2022-03-22 02:22:04 +00:00
Leandro Lovisolo
10258645fc Mockery CIPD package: Build from source to support Go 1.18.
See comments in create.py for rationale and details.

This compatibility issue will likely be fixed in a future Mockery version, but since we're sticking with with v2.4.0, building from source with the necessary changes seems like the most straightforward option.

Note: This CL should not cause any diffs in generated mock files.

Bug: skia:13063
Change-Id: Ia9b2c48ea64d85244c09c75a5d424e09bdac7a2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522098
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2022-03-22 00:50:34 +00:00
Joe Gregorio
b34e83e4c6 Add Linux RTX3060 jobs.
Change-Id: If2e7bfd93b916663e568e7d761cd891d0ac2303a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521838
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-03-21 15:35:07 +00:00
Kevin Lubick
dd3a6894f4 [infra] Use ATL Golo Windows machines
Change-Id: I91f6537f3eda06b311559c3ed994fb063590b50a
Bug: 1289453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522177
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-21 11:48:36 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
ecd2a66e6f Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Ifdce7b755509431126d260e1904464ed4d4e72bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522596
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-03-20 08:12:34 +00:00
Kevin Lubick
ac8c554dbe [infra] Use ATL Golo Linux machines
Change-Id: I836eebcd16d55a86eca2020f7bdbec11889a1920
Bug: 1289453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522176
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-18 13:34:04 +00:00
Greg Daniel
6dcb24b811 [graphite] Add nanobench bots.
Bug: skia:12974
Change-Id: I6ec7736edc871241b0cf78413b0d5f7ff9abd8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520736
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-15 19:00:46 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
6d19271fb1 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I2c38b1603ba2e3e25264c4a55fafa1947ff0c486
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/520199
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-03-13 07:26:46 +00:00
Arman Uguray
e70f2e0e0f [sksl][test] Add more folding tests for side-effecting expressions
Moved the MatrixFoldingES2.sksl test case for matrix construction with
side-effects into a new PreserveSideEffects.sksl test and added new test
cases for various vector and matrix types and constructors. The new test
is written such that none of its contents should be folded away.

Note: This test does not pass on NVIDIA GPUs when using OpenGL as
discussed in skia:13035. Notably, NONE of the increments are executed on
those GPUs as ALL increment expressions seemingly get subjected to
constant-folding. The test is disabled on NVIDIA GPU bots.

This also means that the remaining MatrixFoldingES2.sksl tests now work
on NVIDIA GPUs when using OpenGL (with the exception of Tegra3 + OpenGL
ES).

Bug: skia:13035, skia:11919
Change-Id: I561bb62fe2b6b814ba80fbc492d3885bbcd6b65b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518278
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-10 18:06:12 +00:00
Jim Van Verth
bdbb92a721 [graphite] Add some Intel Mac bots to test Graphite
Bug: skia:13033
Change-Id: I2b4a30f8adb927966ab20e8175a0dcf15fb3ed1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518636
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-09 18:12:50 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
f029354f16 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I8be10a4093ac38d4c98223e601c89e8c204efcce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516559
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-03-06 07:59:41 +00:00
Ravi Mistry
9a822433df Pull the latest doxygen image
Bug: skia:13020
Change-Id: I32ac1f7593f85da76a883d795cd9803f55a42f24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516076
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-03-04 19:08:05 +00:00
Kevin Lubick
5fb37db69f [bazel] Use bazel to build task drivers
One very important, but agonizing to discover, change was
to go_repositories.bzl. Without it, we see cryptic errors like:
external/org_chromium_go_luci/cipd/api/cipd/v1/BUILD.bazel:22:17: no such package '@org_chromium_go_luci//go.chromium.org/luci/cipd/api/cipd/v1': BUILD file not found in directory 'go.chromium.org/luci/cipd/api/cipd/v1' of external repository @org_chromium_go_luci. Add a BUILD file to a directory to mark it as a package. and referenced by '@org_chromium_go_luci//cipd/api/cipd/v1:api_go_proto'

The rest of these changes are very similar to
https://skia-review.googlesource.com/c/buildbot/+/514074
which also has justification for the use of task drivers,
even in a Bazel-driven world.

All the BUILD.bazel files under infra/bots/task_drivers were
generated by Gazelle.

Note that the infra/bots/BUILD.bazel can happily build and
package up the task drivers from the infra repo. The old
build_task_drivers tasks did this too, because we have some
task drivers that are used in both repos.

Change-Id: I13c46c62bc7a6a4bfe7935b28efbfb34caabb6f2
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515296
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-03 16:12:18 +00:00
John Stiles
e11a14d17f Add workaround for LLVM crash in macOS 12 on Intel or M1.
The `break_loop` test causes LLVM to get confused and crash when
compiled on some GPUs. The crash goes away if we pass a literal 5
instead of a 5 that is computed at runtime. This also results in a
simpler test for SkVM, for better or worse, but we still have
coverage for dynamic loop exits in other tests.

LLVM crash: https://paste.googleplex.com/4718583155261440
Dangerous shader: https://paste.googleplex.com/4776089520963584

Change-Id: Ic6cbd55a36d2de58e5dd3459d4dfd74acdbc9f91
Bug: skia:13005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514538
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-02 15:20:10 +00:00
John Stiles
7bc2701ae8 Disable SkSLUnaryPositiveNegative test on Mali 400 (Android One).
This GPU has lots of basic problems with matrices in GLSL, so this is
not entirely unexpected.

Change-Id: I21f663f7637f10320f7ce8a2a66e5e621bbca621
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514776
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-02 15:10:18 +00:00
John Stiles
54b5ad00c5 Add bots for Metal on M1 Macs with macOS 12.
The LoopInt test fails in Metal on many devices with macOS 12, so it's
currently disabled.

Change-Id: I575b662ae543187d7062e0fba37afa6e80663fc5
Bug: skia:13005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514576
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-02 00:32:15 +00:00
Jim Van Verth
38de60ea95 Disable GrMeshTests on Intel Iris Plus
Bug: skia:7603
Change-Id: I2d0406b544d03efbd5caa165ecf2f099d8d73881
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514217
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-01 20:05:41 +00:00
Erik Rose
c396dd16ba [infra] Rename IrisPlus jobs so they don't contain commas.
That was making Gerrit unable to invoke the jobs; the regex for valid
jobs doesn't contain comma.

Change-Id: I9b8a42ab1d5b8ac204895388844bde88a604491f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514356
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-03-01 19:02:17 +00:00
Kevin Lubick
4a826a9de5 [infra] Remove failing skpbench jobs
These have been failing for 9+ months

Change-Id: I9cc15298ee0ea1f2f1070affeeb5392ced376793
Bug: skia:12268
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514276
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-01 17:58:25 +00:00
Kevin Lubick
acab911351 [bazel] Make use of test_on_env to spin up server for gms
In order to extract the PNG files produced by our CanvasKit gms,
we need our JS tests to POST them to a server which can write to
disk. The easiest way to do this is to use the test_on_env
rule defined in the Skia Infra repo for exactly this purpose.

This required https://skia-review.googlesource.com/c/buildbot/+/510717
to be able to configure the binary correctly and
https://skia-review.googlesource.com/c/buildbot/+/511862, for nicer
debugging so the skia-infra dep was updated via the following commands:
$ go get go.skia.org/infra@d8a552a29e
$ go mod download
$ make -C infra/bots train
$ make -C bazel gazelle_update_repo
This caused many automated changes to infra/bots/tasks.json

The flow is:
1. User types bazelisk test :hello_world_test_with_env
2. The test_on_env rule starts gold_test_env and waits
   for the file defined in $ENV_READY_FILE to be created.
3. gold_test_env starts a web server on a random port. It
   writes this port number to $ENV_DIR/port. Then, it
   creates $ENV_READY_FILE to signal ready.
4. test_on_env sees the ready file and then starts the
   karma_test rule. (Reminder: this is a bash script
   which starts karma using the Bazel-bundled chromium).
5. The karma_test rule runs the karma.bazel.js file (which
   has been injected with some JS code to fill in Bazel
   paths and settings) using Bazel-bundled node. This reads
   in the port file and sets up a Karma proxy to redirect
   /gold_rpc/report to http://localhost:PORT/report
6. The JS tests run via Karma (and do assertions via Jasmine).
   Some tests, the gms, make POST requests to the proxy.
7. gold_test_env gets these POST requests writes the images
   to a special Bazel folder on disk as defined by
   $TEST_UNDECLARED_OUTPUTS_DIR.
8. test_on_env identifies that the tests finish (because the
   karma_test script returns 0). It sends SIGINT to gold_test_env.
9. gold_test_env stops the webserver. The special Bazel folder
   will zip up anything inside it and make it available for
   future rules (e.g. a rule that will upload to Gold via goldctl).

Suggested Review Order:
 - bazel/karma_test.bzl to see the test_on_env rule bundled into
   the karma_test macro. I chose to put it there because it might
   be confusing to have to define both a karma_test and test_on_env
   rule in the same package but not be able to call one because it
   will fail to talk to the server.
 - gold_test_env.go to see how the appropriate files are written
   to signal the environment is ready and the handlers are set up.
 - karma.bazel.js to see how we make our own proxy given the
   port from the env binary. The fact that we could not create
   our own proxy with the existing karma_test rule was why the
   chain ending in https://skia-review.googlesource.com/c/skia/+/508797
   had to be abandoned.
 - tests/*.js to see how the environment is probed via /healthz
   and then used to make POST requests with data.
 - Everything else.

Change-Id: I32a90def41796ca94cf187d640cfff8e262f85f6
BUG: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/510737
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-02-28 14:05:54 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
6a7383e3dd Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I2ad4ac3288294eba23ab2c96655509590a4c8fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/513497
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-27 08:18:41 +00:00
Arman Uguray
9c30ad1f72 [sksl][tests] Restore SKSL_TEST_CPU_ES3 CPU-only behavior
The SKSL_TEST_CPU_ES3 has been misinterpreted to mean that the tests
should run on "SkVM and OpenGL" while it was originally meant for tests
that were explicitly disabled on GPU backends.

* This macro is now called "SKSL_TEST_CPU_NO_STRICT_ES2" and the comments
reflect the fact that the tests are meant for CPU-only.

* Removed the infra bot exceptions for the matrix constructor tests as
they are now restricted to run only on CPU.

Bug: skia:12970
Change-Id: I46dcec51ef6998f6a8a7b4610c39560da1e59057
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512578
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-02-24 22:32:12 +00:00
Leandro Lovisolo
efdc2c5b87 gen_tasks_logic.go: Update Win10 tasks's "os" dimension to "Windows-10-19044".
I've updated almost all Win10 Skolo machines to 19044. https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&d=asc&f=os%3AWindows&f=os%3AWindows-10&f=pool%3ASkia&f=zone%3Aus-skolo&s=os.

This CL should get the Angle roller unstuck, and any other tasks that currently cannot be scheduled due to lack of capacity.

Context: Some Win10 Skolo machines self-updated from Windows-10-19041 to Windows-10-19043, which prevented some tasks from running due to lack of capacity (the "os" dimension of those tasks is currently "Windows-10-19041"). The solution I went with is to update all those machines to the latest Windows 10 version, then update the "os" dimension of Win10 tasks to match that OS version.

Change-Id: I94dfeb68f04bdddeff29387f2c2bc7049464e543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509727
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-02-24 01:54:56 +00:00
Kevin Lubick
6d26915ceb [infra] Remove windows job from CQ due to capacity issues
Change-Id: I51d3f94bcb483e6e3de6f54a2e10683b0ea6d3d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512162
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Erik Rose <erikrose@google.com>
2022-02-23 18:39:47 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
3d1667b349 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Ib875341dc8d79dde40e430386c5a86216b9b86a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/511017
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-20 08:13:14 +00:00
Erik Rose
e6fba0a50b [infra] Stop overspecifying the version of 10.14.
There are no more 10.14.3 bots in the farm and haven't been for some
time. This made all 10.14 tasks fail to run.

All we have now is 10.14.6, so we can remove the first if clause.

The second talks about an OS key that isn't even in the hash anymore, so
it can go away too.
Change-Id: I53cd54c9520b8a10f72de8e413f023027cdf8088
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509728
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-17 00:50:45 +00:00
Erik Rose
d714e1ebe1 [infra] Remove job mistakenly made for nonexistent OS-12 Skolo Minis.
Back in 47045c9e06 I had meant to "Add a
Debug-All-NativeFonts CPU job for all OS versions on the new Mac Mini 7.1s."
Well, none of those is running 12.

Change-Id: I9dd13ce33c9a4004faf4da5f53d25c5ce5d8ec04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509718
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-02-16 16:39:41 +00:00
Leandro Lovisolo
34e3b35eb4 [codesize] Define more CodeSize tasks for testing purposes (both for CQ and waterfall).
Bug: skia:12151
Change-Id: I0ab5c8d6e48c8f90d825c0a8636d60571b3db708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509504
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 23:42:43 +00:00
Kevin Lubick
c13cd6479d Reland "Build CanvasKit using GN/Ninja"
This is a reland of ecac712bec

Changes (best viewed comparing PS1 to latest)
 - Use emsdk 3.1.3 which includes important bug fixes
 - Remove unnecessary steps in compile.sh
 - Fix use of various gn args.
 - Avoid conflicts with Flutter's GN symbols
 - Add/update docs
 - Make activate-emsdk script compatible with our infra.

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I601712a8953c2799fa029e782e097905b95e6b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507717
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 16:31:10 +00:00
Brian Osman
1bd59cf10b Remove g8 config from DM/FM. Switch CPU bots to test r8 instead.
Change-Id: I1bef9f9c8db0147d8cfb60354aa519cc3ca61b43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507319
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-15 15:46:10 +00:00