Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: tools/buildbot_spec.py

Issue 1258193004: buildbot_spec: Add configuration, do_*_steps, upload_*_results, more env (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/buildbot_spec.json ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/buildbot_spec.py
diff --git a/tools/buildbot_spec.py b/tools/buildbot_spec.py
index 8204c6d6dcf3daaa07ad777d4ac525184d62cf24..9830e4528961ce9cd15366fe8751af89bd49eb9f 100755
--- a/tools/buildbot_spec.py
+++ b/tools/buildbot_spec.py
@@ -24,6 +24,10 @@ import dm_flags
import nanobench_flags
+CONFIG_DEBUG = 'Debug'
+CONFIG_RELEASE = 'Release'
+
+
def lineno():
caller = inspect.stack()[1] # Up one level to our caller.
return inspect.getframeinfo(caller[0]).lineno
@@ -150,7 +154,12 @@ def gyp_defines(builder_dict):
cov_skip.extend([lineno(), lineno() + 1])
def get_extra_env_vars(builder_dict):
env = {}
- if builder_dict.get('compiler') == 'Clang':
+ if builder_dict.get('configuration') == 'Coverage':
+ # We have to use Clang 3.6 because earlier versions do not support the
+ # compile flags we use and 3.7 and 3.8 hit asserts during compilation.
+ env['CC'] = '/usr/bin/clang-3.6'
+ env['CXX'] = '/usr/bin/clang++-3.6'
+ elif builder_dict.get('compiler') == 'Clang':
env['CC'] = '/usr/bin/clang'
env['CXX'] = '/usr/bin/clang++'
return env
@@ -232,6 +241,44 @@ def get_builder_spec(builder_name):
device = device_cfg(builder_dict)
if device:
rv['device_cfg'] = device
+
+ role = builder_dict['role']
+ if role == builder_name_schema.BUILDER_ROLE_HOUSEKEEPER:
+ configuration = CONFIG_RELEASE
+ else:
+ configuration = builder_dict.get(
+ 'configuration', CONFIG_DEBUG)
+ arch = (builder_dict.get('arch') or builder_dict.get('target_arch'))
+ if ('Win' in builder_dict.get('os', '') and arch == 'x86_64'):
+ configuration += '_x64'
+ rv['configuration'] = configuration
+ rv['do_test_steps'] = role == builder_name_schema.BUILDER_ROLE_TEST
+ rv['do_perf_steps'] = (role == builder_name_schema.BUILDER_ROLE_PERF or
+ (role == builder_name_schema.BUILDER_ROLE_TEST and
+ configuration == CONFIG_DEBUG) or
+ 'Valgrind' in builder_name)
+
+ # Do we upload perf results?
+ upload_perf_results = False
+ if role == builder_name_schema.BUILDER_ROLE_PERF:
+ upload_perf_results = True
+ rv['upload_perf_results'] = upload_perf_results
+
+ # Do we upload correctness results?
+ skip_upload_bots = [
+ 'ASAN',
+ 'Coverage',
+ 'TSAN',
+ 'UBSAN',
+ 'Valgrind',
+ ]
+ upload_dm_results = True
+ for s in skip_upload_bots:
+ if s in builder_name:
+ upload_dm_results = False
+ break
+ rv['upload_dm_results'] = upload_dm_results
+
return rv
« no previous file with comments | « tools/buildbot_spec.json ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698