Commit Graph

138 Commits

Author SHA1 Message Date
Mike Klein
b35a41ec16 Add timestamp to bot ninja output.
The default NINJA_STATUS format is "[%f/%t] ".  This prepends %e to help diagnose slow builds.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3323

Change-Id: Ied27317cedc2b07ff57c59eae61fe9e86c7fea33
Reviewed-on: https://skia-review.googlesource.com/3323
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2016-10-13 19:21:19 +00:00
borenet
2754b4ea27 Stop rebooting Android devices during Swarming tasks
Swarming will reboot the devices after each task.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2402403002

Review-Url: https://codereview.chromium.org/2402403002
2016-10-13 10:31:08 -07:00
borenet
98b2e7a9e4 Recipe fixes to support try jobs in task scheduler
BUG=skia:5723
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410843002

Review-Url: https://codereview.chromium.org/2410843002
2016-10-13 06:23:45 -07:00
Mike Klein
a213640f18 GN: take over Windows -Exceptions bot.
This will make it temporarily 64-bit until I sort out 32-bit builds (tomorrow?) but that's an unimportant dimension for this bot... we just want to make sure we can build with /EHsc.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3255

Change-Id: Ie3c604e7ce779d0b45149e0151b7ecc93f9dd523
Reviewed-on: https://skia-review.googlesource.com/3255
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-12 23:59:32 +00:00
Mike Klein
d301683716 GN/Win: support win_toolchain asset?
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3246

Change-Id: Ib38d4f16788bc27ad81975a4c1b0a732e5df1de3
Reviewed-on: https://skia-review.googlesource.com/3246
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-12 20:16:22 +00:00
Mike Klein
71c5393b73 Update GN recipes for Windows.
fetch-gn is a Python script, gn is a batch script, and ninja is an exe.

Pass the win_toolchain package to GN as windk.  This won't work yet.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3245

Change-Id: Iacc59c70c06ec118fc6a45d0cdb67095ff2b951b
Reviewed-on: https://skia-review.googlesource.com/3245
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-12 18:53:39 +00:00
borenet
93408df16e Add swarm_presubmit recipe
This allows us to add a Housekeeper-PerCommit-Presubmit bot/trybot

BUG=skia:5823
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2392663004

Review-Url: https://codereview.chromium.org/2392663004
2016-10-05 06:00:26 -07:00
Mike Klein
121563eb4a Fold extra_*_flags into GN as a config.
This should make them visible to things like gn_to_cmake.py.
I'm not exactly sure what this implies about ordering and overriding.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2938

Change-Id: I0740613993fb5bbfb8363cfa126d1f59768abf60
Reviewed-on: https://skia-review.googlesource.com/2938
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-04 21:57:31 +00:00
borenet
777ee88129 Make the housekeeper upload doxygen to a newer bucket
BUG=skia:2969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2370153003
DOCS_PREVIEW= https://skia.org/?cl=2370153003

Review-Url: https://codereview.chromium.org/2370153003
2016-10-04 13:23:57 -07:00
borenet
d6699c8281 Make binary size analysis upload to skia-perf bucket
It's currently pointed at chromium-skia-gm, but Perf results are now
uploaded to skia-perf.

BUG=skia:2969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371193002

Review-Url: https://codereview.chromium.org/2371193002
2016-10-04 12:32:04 -07:00
borenet
9c8a32ff45 Stop uploading nanobench results on Valgrind bot
It's not needed, and it's probably making the bot a lot slower.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2382313003

Review-Url: https://codereview.chromium.org/2382313003
2016-09-30 12:39:31 -07:00
Mike Klein
8e6791fb9a Disable FP contraction on -Fast bot.
It's more annoying than helpful to have GCC turn mul,add into fma.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2780

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

Change-Id: I63f4615f73aed112f10f6cb516d899b820918298
Reviewed-on: https://skia-review.googlesource.com/2780
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2016-09-29 15:52:46 +00:00
borenet
cefee07bf7 Delete unused upload_*_results.py
BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2371883004

Review-Url: https://codereview.chromium.org/2371883004
2016-09-27 07:51:15 -07:00
mtklein
d68f9b0038 GN: ANGLE
Angle's existing GN files only work in Chrome, so I've written a new one.

This won't work on Windows, but our GN build doesn't work on Windows anyway.  So this CL is an attempt to get a ahead of that curve on ANGLE.  It looks large but fairly straightforward.

Now working on Linux:
  $ gn gen angle --args=skia_use_angle=true
  $ ninja -C angle
  $ angle/dm --config angle-gl --src gm -w dm-out

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361983002

Review-Url: https://codereview.chromium.org/2361983002
2016-09-23 13:18:41 -07:00
mtklein
605d952893 GN: take over CommandBuffer bot
As you suspected, I see nothing preventing us from building our side of things unconditionally.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358173002
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2358173002
2016-09-21 14:01:32 -07:00
egdaniel
e4a9bd79c6 Add define of SK_ENABLE_VK_LAYERS to gn build
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357953002

Review-Url: https://codereview.chromium.org/2357953002
2016-09-21 07:36:14 -07:00
mtklein
a627b5c3b9 GN: add skia_use_mesa for OSMesa in tools.
I tested by running
  $ out/dm --src gm --config mesa
  $ out/nanobench --config mesa --match Xfermode
... but I ran out of patience waiting for nanobench to finish.  Probably works.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357703002

Review-Url: https://codereview.chromium.org/2357703002
2016-09-20 13:36:47 -07:00
borenet
c549212cb3 Attempt to fix nanobench upload
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356813003

Review-Url: https://codereview.chromium.org/2356813003
2016-09-20 13:32:38 -07:00
mtklein
06c35c0953 GN: add skia_enable_gpu (default true)
This lets us replace the NoGPU bot.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356853002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2356853002
2016-09-20 12:28:12 -07:00
mtklein
1905098bc4 Snazzier dump log step on Android bots.
(The failing NexusPlayer bot is a demo.)

This should make stack traces more useful, turning this sort of thing

    09-20 11:29:39.536  2978  2978 F DEBUG   :     #00 pc 00970fd0  /data/local/tmp/dm

into something like this

    09-20 11:29:39.536  2978  2978 F DEBUG   :     #00 pc 00970fd0 adjust_bounds_to_granularity(SkIRect*, SkIRect const&, VkExtent2D const&, int, int) at /b/work/skia/out/Build-Ubuntu-Clang-x86-Debug-GN_Android_Vulkan/Debug/../../../src/gpu/vk/GrVkGpu.cpp:1803  /data/local/tmp/dm

Some bots like the S7 already have good enough stack traces, e.g.

09-20 11:35:12.567   936   936 F DEBUG   :     #00 pc 00000000000bed6c  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN13QglManagedBuf14ConfirmEntriesEv+108)
09-20 11:35:12.567   936   936 F DEBUG   :     #01 pc 00000000000b098c  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN9QglBltLib6FillHwEPK10QglBltFillPK15QglBltColorFillPK15QglBltDepthFillPjP12QglBltStatusSB_+588)
09-20 11:35:12.567   936   936 F DEBUG   :     #02 pc 00000000000b23bc  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN9QglBltLib9FillImageEPK10QglBltFillPK15QglBltColorFillPK15QglBltDepthFillPjP12QglBltStatusSB_+348)
09-20 11:35:12.567   936   936 F DEBUG   :     #03 pc 000000000009bb00  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16A5xCommandBuffer22PerformConditionalFillEiiP10QglBltFillPK15QglBltColorFillP15QglBltDepthFillP12QglBltStatusS8_+256)
09-20 11:35:12.567   936   936 F DEBUG   :     #04 pc 000000000009c0c0  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16A5xCommandBuffer23HwWriteSubpassInitClearEP10QglBltFillPK15QglBltColorFillP15QglBltDepthFillP12QglBltStatusS8_+224)
09-20 11:35:12.567   936   936 F DEBUG   :     #05 pc 0000000000072610  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16QglCommandBuffer18WriteSubpassClearsEv+464)
09-20 11:35:12.567   936   936 F DEBUG   :     #06 pc 0000000000073ae0  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16QglCommandBuffer12BeginSubpassEv+32)
09-20 11:35:12.567   936   936 F DEBUG   :     #07 pc 0000000000063120  /system/vendor/lib64/hw/vulkan.msm8996.so (vkCmdBeginRenderPass+224)
09-20 11:35:12.567   936   936 F DEBUG   :     #08 pc 0000000000635f60  /data/local/tmp/nanobench (_ZN24GrVkPrimaryCommandBuffer15beginRenderPassEPK7GrVkGpuPK14GrVkRenderPassjPK12VkClearValueRK16GrVkRenderTargetRK7SkIRectb+132)

or

09-20 11:42:24.557   937   937 F DEBUG   : backtrace:
09-20 11:42:24.557   937   937 F DEBUG   :     #00 pc 0000000000069404  /system/lib64/libc.so (tgkill+8)
09-20 11:42:24.557   937   937 F DEBUG   :     #01 pc 0000000000066b94  /system/lib64/libc.so (pthread_kill+68)
09-20 11:42:24.557   937   937 F DEBUG   :     #02 pc 0000000000023a28  /system/lib64/libc.so (raise+28)
09-20 11:42:24.557   937   937 F DEBUG   :     #03 pc 000000000001e358  /system/lib64/libc.so (abort+60)
09-20 11:42:24.557   937   937 F DEBUG   :     #04 pc 000000000076430c  /data/local/tmp/dm (_Z17sk_abort_no_printv+8)

These won't be affected.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2351243002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2351243002
2016-09-20 11:45:11 -07:00
mtklein
122fac3061 GN: remove old Android recipe code.
All the Android builders, testers, and perfers are on gn_android_flavor now.

Not as scary as it looks... all the big line count changes are deletes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2352653002

Review-Url: https://codereview.chromium.org/2352653002
2016-09-19 07:26:42 -07:00
mtklein
cfea18abe2 Delete unused coverage recipe code.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353483003

Review-Url: https://codereview.chromium.org/2353483003
2016-09-19 07:04:37 -07:00
mtklein
bfef32ff0a Build with GN on CT bots.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347203002

Review-Url: https://codereview.chromium.org/2347203002
2016-09-16 11:39:14 -07:00
mtklein
f29180e65a GN: enable Vulkan on Android when API >= 24.
Android API >= 24 implies Vulkan support, so we can have a more useful default here than 'false'.  If for some reason you wanted to turn it off, you can still override skia_use_vulkan.

The defined(ndk_api) guards other users of our GN files (Fuchsia) who may not have an ndk_api argument defined in their BUILDCONFIG.gn.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347843003

Review-Url: https://codereview.chromium.org/2347843003
2016-09-16 07:01:17 -07:00
mtklein
fe6ca0f798 GN: port Valgrind bots.
This was suspiciously easy...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342923002

Review-Url: https://codereview.chromium.org/2342923002
2016-09-15 13:50:43 -07:00
mtklein
1fbdf98d0e GN: support 32-bit x86 builds
Take over Ubuntu -x86- bots.

Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
We'll want target_cpu="x86" there too.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340463008

Committed: https://skia.googlesource.com/skia/+/1949386ae00485ae92dd5608a2614b9dee417542

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot,Build-Ubuntu-GCC-x86-Release-Trybot

Review-Url: https://codereview.chromium.org/2340463008
2016-09-15 12:07:48 -07:00
mtklein
56d5669095 Revert of GN: support 32-bit x86 builds (patchset #6 id:100001 of https://codereview.chromium.org/2340463008/ )
Reason for revert:
https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-Clang-x86-Debug-GN_Android/builds/304

Original issue's description:
> GN: support 32-bit x86 builds
>
> Take over Ubuntu -x86- bots.
>
> Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
> We'll want target_cpu="x86" there too.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340463008
>
> Committed: https://skia.googlesource.com/skia/+/1949386ae00485ae92dd5608a2614b9dee417542

TBR=jcgregorio@google.com,borenet@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2338173004
2016-09-15 11:18:56 -07:00
mtklein
1949386ae0 GN: support 32-bit x86 builds
Take over Ubuntu -x86- bots.

Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental.
We'll want target_cpu="x86" there too.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340463008

Review-Url: https://codereview.chromium.org/2340463008
2016-09-15 11:06:25 -07:00
mtklein
0973a371ec Pass rietveld as the default patch_storage.
Passing around empty strings as command line arguments requires
us to be really careful about command line quoting, parsing, etc.

It seems easy enough here to just supply the implied value.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2323233003

Review-Url: https://codereview.chromium.org/2323233003
2016-09-15 08:27:33 -07:00
mtklein
7de2d40dcc merge run and check-rc steps
This'll make the 'dm' or 'nanobench' step go red like you'd hope.

The N5 should pass and the N10 and N7 should fail, showing us both sides.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339713003

Review-Url: https://codereview.chromium.org/2339713003
2016-09-14 11:15:54 -07:00
mtklein
53c02e0156 Android GN scripts: distingush directories for data and binaries.
This enables data reuse, e.g. https://luci-milo.appspot.com/swarming/task/313eff129c753d10 or https://luci-milo.appspot.com/swarming/task/313f17a174c6c710

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2335203004

Review-Url: https://codereview.chromium.org/2335203004
2016-09-14 05:33:11 -07:00
mtklein
357f9d2032 Update gn_android_flavor for Vulkan.
C.f. https://codereview.chromium.org/2336343002 for basic GN support.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333293004

Review-Url: https://codereview.chromium.org/2333293004
2016-09-13 13:50:10 -07:00
mtklein
ea8b2b076c Android GN: don't reboot before running
We're already rebooting after running, so we should already be ready to go when the task starts.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2334223003

Review-Url: https://codereview.chromium.org/2334223003
2016-09-13 13:13:54 -07:00
mtklein
649985a530 Remove clear /data/local/tmp steps.
These were intended to prevent GN and GYP Android bots from stomping on
each other.  Turns out, they don't, even without this... they're writing
most files to completely separate paths:
  - GYP puts most data under $EXTERNAL_STORAGE, generally /sdcard
    and its binaries (libdm.so, libnanobench.so, libskia.so, skia_launcher)
    in /data/local/tmp;
  - GN puts everything under /data/local/tmp, and its binaries (dm, nanobench)
    don't overlap GYP's.

So clearing /data/local/tmp was essentially just removing GN's data; GYP's
data file caching was never affected and can't conflict with GN's.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340473002

Review-Url: https://codereview.chromium.org/2340473002
2016-09-13 11:17:58 -07:00
mtklein
5718b2df4c I missed an infra_step, pushing directories.
NOTREECHECKS=true

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337793003

Review-Url: https://codereview.chromium.org/2337793003
2016-09-13 07:20:47 -07:00
mtklein
41313595f9 Mark infra steps as infra_step in GN recipe flavors.
NOTREECHECKS=true

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2329943004

Review-Url: https://codereview.chromium.org/2329943004
2016-09-13 05:49:16 -07:00
borenet
ea5de1ff1d Add back the GalaxyS3 and GalaxyS4 entries in recipes
S3 is needed for some recipe simulation stuff and in general having
these present does not hurt us.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2336513003

Review-Url: https://codereview.chromium.org/2336513003
2016-09-12 14:02:14 -07:00
mtklein
df5df81084 GN: Android perf/tests
Just to take inventory of which old problems still linger and which are now moot, I've gone out of my way to have this stand alone.  All of gn_android_flavor's logic is self contained, without any dependency on the platform_tools scripts.

The tricky bits turn out to be, copying directories containing symlinks---or really any copying involving more than one file---and getting the exit code back from adb shell.  Luckily the ADB I've got on my desktop and my Nexus 5x seems to handle this all without the awkward workarounds you see here, so there's hope that One Day Soon the weird parts (basically, anything with inline python) can go away.  Once we've got these bots landed green, I'll go see whether the fixes are due to ADB updates, Android updates, or perhaps something else like hardware.

The parts marked TEMPORARY are a nod to the fact that the devices are used by gn_android_flavor and android_flavor both today.  It's mostly about not stepping on each other's toes or leaving anything laying around that might confuse each other.  The marked parts can go away when bots are either gn_ or non-gn_ but not both.

I have omitted a few steps that may be important, but which are easy independent follow-ups:
  - running as root
  - locking clocks
  - waiting on battery levels
  - fancier wait-for-ready than adb wait-for-usb-device
It'd be nice to, e.g., reaffirm that locking clocks helps perf stability, and that we're locking to the best policy.  I've tried to keep this CL as trim as possible, leaving any of these vaguely optional steps for later.

As of PS 41 or so, it looks like the trybots are all behaving as expected.
We should expect no new images in Gold.  Can we see trybots in Perf yet?

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2320153002

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot

Review-Url: https://codereview.chromium.org/2320153002
2016-09-12 12:24:38 -07:00
borenet
09524ae429 Fix device cfg for GalaxyS7
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2330093002

Review-Url: https://codereview.chromium.org/2330093002
2016-09-12 11:56:37 -07:00
kjlubick
b4403ee980 Fix strange failures on Android N
We were seeing problems where dm ended with exit code 0, but the step still failed.
It seems they changed what N returns when a thing completes.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2319843003
TBR=bugsbunny

Review-Url: https://codereview.chromium.org/2319843003
2016-09-08 13:04:31 -07:00
mtklein
e19c179281 Clean up target_os=llvm now that it does nothing.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2317373004

Review-Url: https://codereview.chromium.org/2317373004
2016-09-08 09:19:00 -07:00
mtklein
2b3c2a3ff9 GN: add sanitize arg
Attempt to take over all *SAN builds.

MSAN has a lot of coordination required between gn/BUILD.gn and gn_flavor.py.
I'd like to follow up to move more of this into gn/BUILD.gn, to make it easier
to use locally.

The compile steps should be much faster now.  We no longer build CMake
and Clang for every run, instead using the clang_linux CIPD package.  This
removes the need for all the third_party/externals/llvm/... dependencies.

Similarly, since we're using the clang_linux package, we no longer depend
on Chrome's Clang, and thus no longer need to sync chromium on these bots.

Instead of packaging up MSAN libraries and llvm-symbolizer in the compile
output, I have the test / perf bots also depend on the clang_linux package.
These do not vary from build to build.

No more need for the xsan.blacklist -include hack: Clang, GN, and Ninja
all track changes to xsan.blacklist without our help.

This has the incidental effect of upgrading the compiler used by *SAN
bots from Clang 3.8 to Clang 3.9.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289343002

Review-Url: https://codereview.chromium.org/2289343002
2016-09-08 08:39:34 -07:00
mtklein
34ffb342f5 GN: do not set default GN args
It's just visual noise... this should make future gn_flavor.py
changes show fewer incidental diffs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2324573002

Review-Url: https://codereview.chromium.org/2324573002
2016-09-08 06:49:05 -07:00
borenet
e72daf6116 Run install-sysroot script before 'gn gen' on PDFium bot
BUG=skia:5727
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2317013002

Review-Url: https://codereview.chromium.org/2317013002
2016-09-07 08:34:13 -07:00
kjlubick
eb2a27137e Add 6p to other device mapping
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2319593002

Review-Url: https://codereview.chromium.org/2319593002
2016-09-07 07:08:52 -07:00
mtklein
b58fe9b899 GN: turn off ccache
I just burned 2 days debugging a confusing interaction between ccache
and the -fsanitize-blacklist argument to Clang.  Let's see if we can
live without ccache (swarming affinity + Ninja seems pretty decent).

As a point of reference, the Mac bots have been looking for ccache but
failing to find it.  They're proof this will be fine.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2310063003

Review-Url: https://codereview.chromium.org/2310063003
2016-09-07 05:12:34 -07:00
bsalomon
b2be02bb39 Update Windows build to use VULKAN_SDK rather than VK_SDK_PATH
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2318633002

Review-Url: https://codereview.chromium.org/2318633002
2016-09-06 08:40:51 -07:00
jcgregorio
b55d98dda1 pdfium: Fix the pdfium builder.
BUG=skia:5715
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300703007

Review-Url: https://codereview.chromium.org/2300703007
2016-09-02 12:36:05 -07:00
mtklein
795423198b GN: Build and link with LLD when using our Clang toolchain.
I am hoping this makes it easier to get *SAN bots going.
Today we're generating a libcompiler_rt.a that's using a
relocation type that the ld on the bots doesn't know about.
This lld is will know about anything our Clang generates.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301273002

Review-Url: https://codereview.chromium.org/2301273002
2016-09-01 15:51:03 -07:00
mtklein
67f6636b20 Remove tsan.supp.
The remaining suppression (libwebp) is already covered by the
compile-time blacklist, tools/xsan.blacklist.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300193002

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot

Review-Url: https://codereview.chromium.org/2300193002
2016-09-01 14:57:35 -07:00
mtklein
ae509db481 GN: expunge all environment variables that have no effect on GN
This should have no practical effect.  I just want to make sure no
environment variables beyond $PATH have any effect on GN builds.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300173002

Review-Url: https://codereview.chromium.org/2300173002
2016-09-01 13:19:21 -07:00
mtklein
b987afa7cc Remove empty {lsan,ubsan}.supp files.
We never used ubsan.supp,
and LSAN suppressions are now built into the test binaries.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302803003

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

Review-Url: https://codereview.chromium.org/2302803003
2016-09-01 08:08:03 -07:00
mtklein
da8f6546da Add and use a clang_linux asset.
This gives us a consistent Clang toolchain on Linux bots,
most importantly for *SAN bots.  It's ~300MB unpacked.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2294353002

Review-Url: https://codereview.chromium.org/2294353002
2016-08-31 12:35:21 -07:00
mtklein
272b311298 GN: forgot Clang+ccache fix on Android. And sort.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298203002

No trybots for these yet...
NOTRY=true
TBR=jcgregorio@google.com

Review-Url: https://codereview.chromium.org/2298203002
2016-08-31 05:03:31 -07:00
mtklein
82023d590c add gn_android_flavor
This ought to support compiles for now.

Am I picking up my CIPD ndk packages right?

The main thing to note is that I'm passing the target_arch directly through
as target_cpu.  This means these bots will have a slightly different naming
convention than we've been using, but it'll agree with what you must type
yourself when using GN to build for Android:

  - Arm7 -> arm
  - Arm64 -> arm64
  - Mips -> mipsel
  - Mips64 -> mips64el
  - x86 -> x86 (unchanged)
  - x86_64 -> x64

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2292663002

Review-Url: https://codereview.chromium.org/2292663002
2016-08-29 13:14:55 -07:00
mtklein
cab0bb7fc6 GN: support compiler_prefix, use it for ccache on bots.
This makes it considerably easier to use ccache with the Android NDK.
You can now just set
  compiler_prefix = "ccache"
  ndk = "/path/to/ndk"
and we'll use the NDK clang, wrapped with ccache.

The name compiler_prefix is stolen from / compatible with Chrome.

If you have ccache, you can just always leave compiler_prefix="ccache" enabled.
This should make it an unusual thing for humans to have to change cc or cxx.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281163002

Review-Url: https://codereview.chromium.org/2281163002
2016-08-26 13:43:19 -07:00
rmistry
3f1c9c0a72 Apply gerrit ref if it is a Gerrit patch.
Also:
* Pass through a new property 'patch_storage' to DM/Nanobench/Coverage. This will be used by the different frameworks to figure out if it is Rietveld or Gerrit issue.
* Calculate issue and patchset for Gerrit patches similar to Rietveld.

BUG=skia:5627
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263323002

Review-Url: https://codereview.chromium.org/2263323002
2016-08-24 05:07:06 -07:00
mtklein
8079ba688c GN: add extra_cflags et al.
Adding flags to the end of cc or cxx is pretty useful, but these always end up
on the command line before the GN generated flags, thus setting defaults that
GN will override.

For full flexibility we want to be able to add flags after the flags GN has
added, so that custom flags can override _it_.

I've updated the Fast bots with an example here: if we said cc="clang -O3 ...",
that '-O3' would be overriden later by the default Release-mode '-Os'.  By
putting it in extra_cflags, we get the last word: our '-O3' overrides the
default '-Os'.

Another good use case is a hypothetical Actually-Shippable-Release mode.  Our
Release mode bundles in tons of debug symbols via '-g'.  libskia.a is about 10x
larger than it needs to be when built that way, but it helps us debug the bot
failures immensely.  To build a libskia.{a,so} that you'd really ship, you can
now set extra_cflags="-g0" to override '-g'.  You could set '-march' flags there
too, '-fomit-frame-pointer', etc.

There are lots of flags that won't matter where they end up in the command line.
To keep everything simple I've put them in extra_cflags with the rest.  This means
the only time we change 'cc' or 'cxx' in our recipes is to prefix 'ccache'.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241263003

Review-Url: https://codereview.chromium.org/2241263003
2016-08-16 09:31:16 -07:00
rmistry
bcba19dd02 Use SVGs CIPD package and use SVG as a DM source.
Currently only turned on for one bot. May turn it on for more after more conversations.

BUG=skia:5628

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231943002

Review-Url: https://codereview.chromium.org/2231943002
2016-08-11 12:36:58 -07:00
mtklein
18655efb7a GN: take over some exisiting bots
As an experiment, instead of replacing these with -GN twins, take
them over in-place.  This should take over:

  -FAST
  -SKFOO

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229463002

Review-Url: https://codereview.chromium.org/2229463002
2016-08-11 07:51:53 -07:00
rmistry
5eab99183c Move ct_skps recipe from tools repo to Skia repo.
Also move the isolate file and script from Chromium repo to the Skia repo.

BUG=skia:5620
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221413002

Review-Url: https://codereview.chromium.org/2221413002
2016-08-09 13:46:48 -07:00
rmistry
3df72283ee Use slave_build instead of checkout in run/api.py
BUG=skia:5620
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221423002

Review-Url: https://codereview.chromium.org/2221423002
2016-08-09 11:15:57 -07:00
borenet
dfa55f2db4 [recipes] Smush the rest of builder_spec into appropriate places, other cleanup
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2219873003

Review-Url: https://codereview.chromium.org/2219873003
2016-08-08 04:34:01 -07:00
borenet
2c3112d517 [recipes] Increase test coverage
Remove a bunch of "pragma: no cover" by removing unused code or adding test bots to cover.

BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215443003

Review-Url: https://codereview.chromium.org/2215443003
2016-08-05 06:30:10 -07:00
borenet
e2251acbaa [recipes] Separate builder_spec into compile/test/perf recipes
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205473002

Review-Url: https://codereview.chromium.org/2205473002
2016-08-05 05:40:59 -07:00
borenet
d460a3c256 [recipes] Remove build environment vars from default_env
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209423002

Review-Url: https://codereview.chromium.org/2209423002
2016-08-05 05:18:06 -07:00
msarett
b8d1aac87a Create a separate src for colorspace tests
This will allow me to run these tests in sRGB mode, while
leaving most of the image tests disabled.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206953006

Review-Url: https://codereview.chromium.org/2206953006
2016-08-04 12:22:06 -07:00
borenet
3f5a47599b [recipes] Fixes for Coverage bot
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2217523002

Review-Url: https://codereview.chromium.org/2217523002
2016-08-04 12:16:03 -07:00
borenet
c7233ef925 [recipes] Stop pretending that buildbot_spec is a step, simplify
Since we no longer have to call out to obtain the buildbot_spec, merge
the two functions in vars API.  As a side effect, this applies
default_env to the sync steps as well, which shouldn't have an
appreciable effect on bot behavior.

BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209343002

Review-Url: https://codereview.chromium.org/2209343002
2016-08-04 11:33:02 -07:00
borenet
538d5b68e8 Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes
- builder_name_schema becomes its own recipe module.
- builder_spec, dm, and nanobench flags move into vars module.
- recipe expectation diffs include:
  - no more buildbot_spec.py step
  - "real" dm and nanobench flags, instead of --dummy-flags
  - some inconsequential stuff in visualbench, which is removed anyway.

BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215803002

Review-Url: https://codereview.chromium.org/2215803002
2016-08-04 11:07:10 -07:00
borenet
bc20a701d8 [Recipes] Move test and perf steps into test and perf recipes
This looks like another big change, but I really just moved blocks of code around.  Again, no expectations diffs because no behavior is changed.

BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198973002

Review-Url: https://codereview.chromium.org/2198973002
2016-08-03 10:38:44 -07:00
borenet
9e3d3d8b36 Fix fake_specs.py, update recipe expectation
BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2200763002

Review-Url: https://codereview.chromium.org/2200763002
2016-08-03 10:10:07 -07:00
borenet
1436a09e1f Re-organize Skia recipes
Break Skia recipe module into:
  - skia_vars: defines and stores variables (eg. paths)
  - skia_step: utilities for running Skia steps
  - skia_flavor: flavor-specific stuff
  - skia: top-level setup, checkout, test/perf steps, etc etc

This establishes a saner dependency structure for the recipes; skia_vars
is at the bottom level, skia_step depends on it, skia_flavor depends on
both of them, skia depends on all of the above, and the recipes
themselves may depend on any or all of them.

Next steps:
  - Merge buildbot_spec into skia_vars
  - Move test_steps and perf_steps from skia recipe_module into
    swarm_test and swarm_perf recipes
  - Cleaner checkout_steps process

BUG=skia:5578
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198173002

Review-Url: https://codereview.chromium.org/2198173002
2016-08-03 08:23:10 -07:00
borenet
b6aafe66a0 Fix Chrome build for RecreateSKPs and CommandBuffer bots for GYP->GN
BUG=skia:5597
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199273002

Review-Url: https://codereview.chromium.org/2199273002
2016-08-02 07:02:52 -07:00
borenet
ed696276fd More fixes for SwarmBucket
BUG=skia:5581
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202053005
NOTRY=true

Review-Url: https://codereview.chromium.org/2202053005
2016-08-02 06:50:50 -07:00
borenet
f5b675efbe Stop running nanobench on Test.*Debug bots
We'll need to add Perf.*Debug bots to achieve the same coverage.

BUG=skia:4768
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189393002
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2189393002
2016-08-01 05:08:52 -07:00
jcgregorio
01f696e30f perf: Upload results to gs://skia-perf, not gs://chromium-skia-gm.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197643002

Review-Url: https://codereview.chromium.org/2197643002
2016-07-29 10:54:30 -07:00
mtklein
830c913625 GN: ccache+clang needs -Qunused-arguments
An alternative is to define CCACHE_CPP2, but
I thought I'd try this more visible way first.

(CCACHE_CPP2 may turn out to be required anyway
if we start seeing warnings about tautological compares.)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193203002

TBR=jcgregorio@google.com
NOTRY=true

Review-Url: https://codereview.chromium.org/2193203002
2016-07-29 06:03:52 -07:00
mtklein
2a1134e3f5 GN: Always quote cc and cxx.
To fix:
    ERROR at the command-line "--args":1:34: Unexpected token '+'
    is_debug=true cc=clang cxx=clang++

TBR=jcgregorio@google.com
NOTRY=true

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193593003

Review-Url: https://codereview.chromium.org/2193593003
2016-07-29 05:39:35 -07:00
mtklein
9081ceb123 GN: use ccache if available and the requested compiler.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186553006

Review-Url: https://codereview.chromium.org/2186553006
2016-07-29 05:07:39 -07:00
jcgregorio
ba59595ea3 recipes: Add a GN flavor.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189713003

Review-Url: https://codereview.chromium.org/2189713003
2016-07-28 09:38:59 -07:00
jcgregorio
4b9ebab04d upload_bench_results - fix GS upload path.
_UploadJSONResults does '/'.join() so the trailing / is unnecessary.

BUG=skia:
R=borenet
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187903003

Review-Url: https://codereview.chromium.org/2187903003
2016-07-27 14:34:06 -07:00
borenet
151aee4220 Fix silently-failing compile
Ouch...

TBR=rmistry
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2191663002

Review-Url: https://codereview.chromium.org/2191663002
2016-07-27 14:05:54 -07:00
kjlubick
e772aeea08 Add Vulkan runtime dll
This gets copied into the out/ dir on compile and allows dm.exe to run anywhere, even if the Vulkan SDK is not installed.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188543002

Review-Url: https://codereview.chromium.org/2188543002
2016-07-27 12:59:12 -07:00
borenet
b53a886924 Include "revision" tag for all Swarming tasks
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186993002

Review-Url: https://codereview.chromium.org/2186993002
2016-07-27 09:36:17 -07:00
borenet
7b2ed4c649 Fix Perf data upload
BUG=skia:5563
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187603005

Review-Url: https://codereview.chromium.org/2187603005
2016-07-27 08:51:55 -07:00
egdaniel
735109c248 Add gyp define to enable vulkan debug layers
On Debug vulkan bots, running with the debug layers on seems to be adding
more than an hour to the total running time. Since we suppress any output
on the bots anyways the debug layers are serving no purpose. Thus I am
adding a gyp define to disable the layers on the bot.

With this change, by default when running vulkan in Debug, the debug_layers
will be enabled. The bots should disable the layers. Android framework
should also have them disabled by default.

TBR=djsollen@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185953003

Review-Url: https://codereview.chromium.org/2185953003
2016-07-27 08:03:57 -07:00
borenet
1ed2ae45f5 Move Skia recipes from build repo
BUG=skia:5563
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175373002

Review-Url: https://codereview.chromium.org/2175373002
2016-07-26 11:52:17 -07:00