Commit Graph

44 Commits

Author SHA1 Message Date
Kevin Lubick
c6f74ca674 Change force_quarantine to use bot id
Bug: skia:7639
Change-Id: I4b8337bac996062c41fb9ae7460cf214b7524a46
Reviewed-on: https://skia-review.googlesource.com/111300
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-03-01 14:38:44 +00:00
Eric Boren
86a1146852 Add bot which builds without DEPS
Bug: skia:7646
Change-Id: Iddf55940230c99fea9d838a1b03a8c3bb476262e
Reviewed-on: https://skia-review.googlesource.com/109360
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-02-22 17:47:56 +00:00
Stephan Altmueller
85834d1265 Remove SkQP bot from master
Bug: skia:
Change-Id: I0415690911a52059eaaf7f32c81b7a4c66117d5b
Reviewed-on: https://skia-review.googlesource.com/109162
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-02-22 12:58:47 +00:00
Stephan Altmueller
2a552179cc Add SKQP bot to build universal APK to master
Bug: skia:
Change-Id: Ib0e9ddb621056ddce2422b53f312ec42d4d7aa3c
Reviewed-on: https://skia-review.googlesource.com/107880
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-02-20 17:02:13 +00:00
Mike Klein
ecd251bbd2 target Android M for -arm- ASAN builds
Change-Id: I8154b9a0b2fcf76fa02af0efa6b57425c6f9ac31
Reviewed-on: https://skia-review.googlesource.com/101580
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-01-30 00:05:11 +00:00
Kevin Lubick
4f0f933579 Add Android ASAN bot
It should work on 32 and 64 bit android running M or newer.

Bug: skia:
Change-Id: I7e6d4000f4fee8f2704b84b7174174dd0e68d21c
Reviewed-on: https://skia-review.googlesource.com/93700
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-01-12 19:57:33 +00:00
Kevin Lubick
1c153c0fba Trying gpu scaling on Nexus 5 and 5x
We do some of this already in skpbench.

Bug: skia:
Change-Id: Ia698466e83f9b476644c126747a2f89346361d13
Reviewed-on: https://skia-review.googlesource.com/93561
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-01-11 19:22:36 +00:00
Ben Wagner
f990ebc272 Only uninstall if install failed.
This is a followup to https://skia-review.googlesource.com/c/skia/+/90343,
which causes task durations to increase due to copying over images, skps,
etc. on every run.

Bug: skia:7408
Change-Id: I42e829e287b7343e969159ac19c587a87ebe99e8
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/90942
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-01-04 17:16:23 +00:00
Ben Wagner
e463d98558 Switch to updated Mac bots.
Bug: skia:7408
Change-Id: I26273df7871e3ee01e227636421962fcc6251e7d
Reviewed-on: https://skia-review.googlesource.com/88080
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-01-04 14:46:59 +00:00
Ben Wagner
63457577c5 Remove Linux IntelIris540 jobs.
Replacing IntelIris540 with IntelIris640, added in
https://skia-review.googlesource.com/c/skia/+/87202. I verified that
Gold results are still identical (modulo flakes). See also
https://skia-review.googlesource.com/c/skia/+/87721 and
https://skia-review.googlesource.com/c/skia/+/78640.

No-Try: true
Change-Id: Ifc7e80e92d6203d922e00b59127b136632af7afc
Reviewed-on: https://skia-review.googlesource.com/88427
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-21 21:01:36 +00:00
Ben Wagner
a376e640c6 Enable Goma fallback by default.
Add a job that doesn't allow fallback so we know when things aren't
working as expected.

Change-Id: If993976d6807635bde455c2091f8a1ba18c41e27
Reviewed-on: https://skia-review.googlesource.com/83700
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-14 17:56:31 +00:00
Ben Wagner
22794a43a8 Add Goma for all Windows Clang Builds.
Change-Id: I26e75cf6cd865ec6c47b7766679177bfd30387da
Reviewed-on: https://skia-review.googlesource.com/82921
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-13 20:51:00 +00:00
Kevin Lubick
e3b013047d Experiment with turning CPUs off during perf
Perf was nice and flat after https://skia-review.googlesource.com/c/skia/+/83240
but there was a 4-5x slowdown on the benchmarks themselves,
indicating that perhaps we were running nanobench on the
LITTLE cores (now on powersave) instead of the big cores we
thought (which were recently scaled down).

This experiment will show us FOR CERTAIN that we are
running on core 0 or 1 which is at .6 max frequency.

We expect to see a speedup from the previous results.

This is leading to turning of CPUs we don't need
to make sure nanobench is running on the ones we expect.

Bug: skia:
NOTRY=true
Change-Id: Ida65181e4d90e778e65e3f22d761288b9ade64f6
Reviewed-on: https://skia-review.googlesource.com/84201
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-13 11:38:22 +00:00
Kevin Lubick
1763492c32 Fix scaling logic for NexusPlayer and AndroidOne
They seem to be their own special cases for what
governors they support.

Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-12-12 13:31:49 +00:00
Kevin Lubick
f1585aabeb Scale extra CPUs to powersave during nanobench.
This scaling logic correctly accounts for some devices
which have multiple CPUs.  Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).

This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.

For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.

Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-12 12:36:09 +00:00
Hal Canary
a4935104a5 resources: optionally link them into our binary
To enable, set skia_embed_resources=true in args.gn.

Also add *-EmbededResouces bots.

Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538
Reviewed-on: https://skia-review.googlesource.com/82626
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-12-11 22:06:38 +00:00
Ben Wagner
3f39bf8fe5 Add Goma support in gn_flavor.
Using full paths in skia.h causes "file not found" with Goma. All other
Builds seem fine without the path, so I changed find_headers.py to use
the basename.

Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce
Reviewed-on: https://skia-review.googlesource.com/79360
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-08 20:09:18 +00:00
Kevin Lubick
4fd283eb7a Use full paths for adb
Add logic to run on Nexus 5xs in Golo.

Bug:788839
Change-Id: I12290d11a0b1b0f012ada216da3e5b2599979c5e
Reviewed-on: https://skia-review.googlesource.com/81861
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-12-07 17:06:59 +00:00
Ben Wagner
5cf6d32e80 Add Nexus7 CPU jobs.
Bug: skia:7381
Change-Id: I2dd5443c81cd895eb1d68b0cd90221a7e2e07d46
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/80843
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-07 16:12:39 +00:00
Ben Wagner
bee6cacc54 Merge UBSAN_float_cast_overflow into ASAN.
The new check was a different config while we fixed the errors. Most
errors are now fixed, and merging these will help with running both on
the CQ.

No-Try: true
Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49
Reviewed-on: https://skia-review.googlesource.com/79323
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-04 17:08:09 +00:00
Kevin Lubick
d1bbd5f777 Make CPU scaling code cleaner
This also makes *sure* the CPU frequency we set the
device to actually "takes".  Along the way, I learned
if scaling_max_freq is < the frequency we set, the
scaling_max_freq will be used instead, which was
happening to the PixelCs and AndroidOnes.

As a result, this may make those two Test- configs faster.

Bug: skia:
Change-Id: I10c98d37e296a19e1cf67bfe7269bb59cdd912d5
Reviewed-on: https://skia-review.googlesource.com/74360
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-11-21 22:38:20 +00:00
Kevin Lubick
bca95a5ac5 Put CPU frequency scaling in recipes
Bug: skia:
Change-Id: I994f67c3043306d7fa612feb03f8fbe8d7bf4c91
Reviewed-on: https://skia-review.googlesource.com/73760
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-11-20 21:14:18 +00:00
Brian Salomon
f44754a42b Drop support for OSMesa in test tools and remove build bot
Change-Id: Ic85ee05fe292a36a053ca7a20ccce24a4da4fae2
Reviewed-on: https://skia-review.googlesource.com/70026
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-11-13 16:20:10 +00:00
Kevin Lubick
d7af1dbb64 Rename chromebook jobs to be more human friendly
Bug: skia:
NOTRY=true
Change-Id: I500eae85ec334dc7121266ebd2f41dc526ec4695
Reviewed-on: https://skia-review.googlesource.com/66880
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-02 18:07:34 +00:00
Kevin Lubick
b718fbb7f4 Add Pixelbook to tree
Bug: skia:7249
NOTRY=true
Change-Id: I7ab6bc28d567ca5ae75df9c1e56b46c307032024
Reviewed-on: https://skia-review.googlesource.com/66143
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-11-02 13:36:21 +00:00
Mike Klein
30578893c5 add -SafeStack bots
These bots use https://clang.llvm.org/docs/SafeStack.html.

This separates the safe (constant size?) parts of the stack like return
address and some local variables apart from the unsafe over- and
underflow prone array uses.  These go on the "unsafe stack".

In theory this makes sense on {Linux,Mac}x{Debug,Release},
but let's just start with Linux/Debug.

Change-Id: I9f5cbeb7081e7d9ac8e1298ca0d86880a6085cfa
Reviewed-on: https://skia-review.googlesource.com/62743
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-10-23 15:32:28 +00:00
Kevin Lubick
9ef6de7824 Add in test_filter to build configuration
The first "sharding" technique we will try is just by test config
(e.g. 8888, gles, etc).  Thus, for backwards compatibility,
the default "shard" is All, as in all configs

Bug: skia:
NOTRY=true
Change-Id: Ia02362477a5d97f8f74d688b5f0c4f45fc129375
Reviewed-on: https://skia-review.googlesource.com/59563
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-16 11:09:49 +00:00
Kevin Lubick
02f709e416 Fix Chromebook output step and skpbench
They pull stuff of using scp, which does not perform well
if a directory does not exist.

Skpbench also needs to be updated to use new adb.

Bug: skia:
NOTRY=true
Change-Id: I1e9f2dbddaab05e1aeb4d71d97f1e6e4bfdd299a
Reviewed-on: https://skia-review.googlesource.com/59081
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-12 19:18:11 +00:00
Ben Wagner
a317a99807 Switch most Win Vulkan jobs to Clang.
Update examples in recipes.

Change-Id: I096f259e8daa46af8626158a820fe226e99cd159
Reviewed-on: https://skia-review.googlesource.com/58200
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-10-11 15:00:10 +00:00
Kevin Lubick
c795a4c886 Add Linux CPU Coverage Bot
This simply uploads the results of an LLVM coverage to GCS
for later ingestion/display.

Bug: skia:7080
Change-Id: I7dcfa2307a239734a614990aca899ea37129126b
Reviewed-on: https://skia-review.googlesource.com/53880
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-10-09 19:58:34 +00:00
Ben Wagner
9fb285e322 Switch many jobs to Clang.
No-Try: true
Change-Id: Ie255d46ff50d13d25d045791c1c3066f06ab9243
Reviewed-on: https://skia-review.googlesource.com/53601
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-10-03 16:17:19 +00:00
Ben Wagner
5655ba4398 Add Linux nVidia Vulkan jobs.
Change-Id: Ib323136e4c6f660923433a2508e1e0965712d698
Reviewed-on: https://skia-review.googlesource.com/53460
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-10-02 15:08:28 +00:00
Ben Wagner
6e0a6b3c40 [recipes] Update example builder names.
Change-Id: If3532bcb5bef5fad8c950d6844135ad3597d2674
Reviewed-on: https://skia-review.googlesource.com/51380
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-09-26 20:26:56 +00:00
Mike Klein
fddc21547d Set report_signal_unsafe=0 on TSAN bots.
We don't really care about report_signal_unsafe.
Our signal handlers all just dump out a stack trace and crash.
If they crash themselves due to signal unsafe code, no big deal.
(I've never seen that happen.)

Change-Id: Ibb90b2b323d88a56d64e6ea62b9c0924a4e41444
Reviewed-on: https://skia-review.googlesource.com/50120
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-09-22 18:48:08 +00:00
Kevin Lubick
ebf648e57a [WASM] Add POC compile bot for WebAssembly
Fix core.gni to use not use Assembler for none cpu.

Right now, there are no outputs because we aren't compiling
dm or nanobench.  However, this still compiles the skia
library and creates two executables, so it's a good canary
for a real WASM build.

Additional note: the two executables in question don't draw
anything to the screen via GL, which is still not possible with
Skia+WASM.

Bug: skia:
Change-Id: I0d767467e94e40d01070e34223dd90e96f1c96f2
Reviewed-on: https://skia-review.googlesource.com/49540
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2017-09-21 18:24:43 +00:00
Ben Wagner
adf17dc52f Add new task to run the float-cast-overflow sanitizer.
Bug: skia:4632
No-Try: true
Change-Id: I85a0b23037d5885e5d762788d8bf5b7cc6fc19b2
Reviewed-on: https://skia-review.googlesource.com/45980
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-09-13 03:59:40 +00:00
Ben Wagner
cf9365a0bc Retry adb commands on flaky devices.
No-Try: true
Change-Id: I3519131cf064d0a9676abd0fb9d7e946646ce27f
Reviewed-on: https://skia-review.googlesource.com/43564
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-09-11 14:09:20 +00:00
Ravi Mistry
0ac06e4726 Bot updates for SkiaCT tasks.
Use gcc-4.8 when compiling for Ubuntu14. Rename the CT tasks to make it
clear their child tasks run on Ubuntu14.

Move to Debian-9.1 bots created with the changes in
https://skia-review.googlesource.com/c/31281 and
https://skia-review.googlesource.com/c/31820

Change the cache dir used by the ct_skps recipe so that changing the
bot name doesn't invalidate the cache.

Bug: skia:6921
Bug: skia:6818
No-Try: true
Change-Id: Idaac8187427b5c2c7bffe66ad6674496b8cd0c0e
Reviewed-on: https://skia-review.googlesource.com/31242
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-08-08 14:17:49 +00:00
Mike Klein
8e3c42b1ee add a Win/Clang build bot
BUG=skia:2679

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release

Change-Id: I861366ae1340abcc67e87041904d08337b465bbe
Reviewed-on: https://skia-review.googlesource.com/28864
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-31 19:53:51 +00:00
Greg Daniel
293d9bd3c2 Add Metal build bot
Bug: skia:6896
Change-Id: If2ed083703e6300b9d2a86cfb298011bbf54e018
Reviewed-on: https://skia-review.googlesource.com/28180
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-28 18:41:43 +00:00
Eric Boren
f7928b4f33 Add a bot to verify that generated SKSL files have not been hand-edited
Bug: skia:6893
Change-Id: I54480ddd1ad1989661393500044f9164a99ce7b0
Reviewed-on: https://skia-review.googlesource.com/27700
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-07-28 12:20:47 +00:00
Eric Boren
fe40abc14b Add new Android builder which uses API_LEVEL 26
Bug: skia:6870
Change-Id: Idd9a27518c1123c0a729b4d07461047f5530aae3
Reviewed-on: https://skia-review.googlesource.com/24960
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-07-20 18:25:12 +00:00
Leon Scroggins III
51b2f1b64c Stop adding Android-specific defines to SkUserConfig
Remove #defines that lived in gn_to_bp.py and
android_framework_defines.gni. These have been moved into a new file
in Android, SkUserConfigManual.h, in https://googleplex-android-review.git.corp.google.com/#/c/2519600/

Update gn_to_bp.py to include SkUserConfigManual.h, so it will still
result in using the same #defines.

Lately, we've found it difficult to guard changes behind a flag. e.g.
a change to drawing causes a CTS failure in Android, so we have to do
the following:
- put the change behind a flag, and add it to gn_to_bp.py or
android_framework_defines.gni
- generate new images on Android (by running CTS with external/skia
modified to not define the flag)
- create a CL in CTS that uses the new images
- land a CL in Skia that stops defining the flag
- when the Skia change lands, wait for the auto-roller to create a CL
that includes the change, stop the auto-roller, add the topic to the CTS
CL so the two can land at the same time
- land both Android changes (with TreeHugger)
- restart the Android auto-roller

With SkUserConfigManual.h (which lives in Android), the process will
be similar to Chromium:
- land a CL in Android's external/skia that defines a flag e.g.
SK_SUPPORT_LEGACY_FEATURE. Land without TreeHugger because it isn't used
in Skia and does not do anything
- land a change in Skia that changes behavior unless
SK_SUPPORT_LEGACY_FEATURE is defined. This will safely go through the
Android roll and not change any behavior for Android
- create two Android CLs - one in CTS to use the new images, and one in
external/skia to delete SK_SUPPORT_LEGACY_FEATURE. Set them to the same
topic and land them with TreeHugger

In the new process, there is no need to mess with the Android roll.

A downside to the new process is that we cannot test the android
framework defines without checking in to Android. But given how much
we've progressed in automating Android testing, this is fine.

Bug: b/63429612
Change-Id: Idfbaef2f4cae641a75fb6e7bf70428733a441336
Reviewed-on: https://skia-review.googlesource.com/22072
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-11 20:43:35 +00:00
Robert Iannucci
dec4c0b298 Rename example.py -> examples/full.py for all modules
`example.py` is going away; examples folder can now hold multiple
example recipes.

R=borenet@google.com

Bug: skia:
Change-Id: Ib28910987342217bc52040d4d966444174ce27a3
Reviewed-on: https://skia-review.googlesource.com/18432
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-02 11:40:36 +00:00