skia2/infra/bots
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
..
assets Update SKP version 2016-08-14 01:56:40 -07:00
ct Move ct_skps recipe from tools repo to Skia repo. 2016-08-09 13:46:48 -07:00
recipe_modules GN: add extra_cflags et al. 2016-08-16 09:31:16 -07:00
recipes GN: add extra_cflags et al. 2016-08-16 09:31:16 -07:00
tools/luci-go Add CIPD support for bot assets 2016-06-28 04:41:49 -07:00
android_bin.isolate Support for Android Swarming bots 2016-04-01 07:18:28 -07:00
bootstrap_win_toolchain_json.py Fixes for Win toolchain isolate 2016-03-11 04:54:42 -08:00
compile_skia.isolate Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
coverage_skia.isolate Add new coverage_skia.isolate 2016-04-18 04:13:48 -07:00
ct_skps_skia.isolate Move ct_skps recipe from tools repo to Skia repo. 2016-08-09 13:46:48 -07:00
housekeeper_skia.isolate Fix Housekeeper-PerCommit 2016-07-27 05:21:45 -07:00
infrabots.isolate Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes 2016-08-04 11:07:10 -07:00
ios_bin.isolate More iOS swarming bot fixes 2016-04-06 11:38:55 -07:00
perf_skia.isolate Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
README.md
recipes.py Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
resources.isolate Swarming bots: setup for skipping download of build products 2016-03-04 04:55:26 -08:00
skia_repo.isolate Fix compile on Windows swarming bot 2016-03-16 07:27:05 -07:00
swarm_recipe.isolate Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
test_skia.isolate Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
test_utils.py Add asset management scripts 2016-06-15 12:07:42 -07:00
upload_skps.py Move Skia recipes from build repo 2016-07-26 11:52:17 -07:00
utils.py Add CIPD support for bot assets 2016-06-28 04:41:49 -07:00
win_toolchain_utils.py Some fixes for Swarming bots 2016-03-17 09:01:33 -07:00
zip_utils_test.py Add asset management scripts 2016-06-15 12:07:42 -07:00
zip_utils.py Add asset management scripts 2016-06-15 12:07:42 -07:00

Skia Buildbot Scripts

The scripts in this directory are ported from Skia's buildbot recipes and are intended to run as standalone Python scripts either locally or via Swarming.

How to Run

The scripts can be run by hand, eg:

$ cd infra/bots $ python compile_skia.py Build-Ubuntu-GCC-x86_64-Debug ../../out

Or, you can run the scripts via Swarming:

$ isolate archive --isolate-server https://isolateserver.appspot.com/ -i infra/bots/compile_skia.isolate -s ../compile-skia.isolated --verbose --config-variable BUILDER_NAME=Build-Ubuntu-GCC-x86_64-Debug $ swarming.py run --swarming https://chromium-swarm.appspot.com --isolate-server https://isolateserver.appspot.com --dimension os Ubuntu --dimension pool Skia --task-name compile-skia --io-timeout=3600 --hard-timeout=3600 ../compile-skia.isolated