diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-08-15 13:48:20 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-08-15 13:49:15 -0700 |
commit | 66f77963a368f8696c26db7b42e510fc0b2aebbf (patch) | |
tree | eeb2694f71a882bbf637214b7d44ad5cf4e77237 /tools/gyp/buildbot | |
parent | 25a5e90289965d60f8aad5138b1321ce267c2242 (diff) | |
download | android-node-v8-66f77963a368f8696c26db7b42e510fc0b2aebbf.tar.gz android-node-v8-66f77963a368f8696c26db7b42e510fc0b2aebbf.tar.bz2 android-node-v8-66f77963a368f8696c26db7b42e510fc0b2aebbf.zip |
Upgrade GYP to r995
Diffstat (limited to 'tools/gyp/buildbot')
-rwxr-xr-x | tools/gyp/buildbot/buildbot_run.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tools/gyp/buildbot/buildbot_run.py b/tools/gyp/buildbot/buildbot_run.py new file mode 100755 index 0000000000..adad7f9da0 --- /dev/null +++ b/tools/gyp/buildbot/buildbot_run.py @@ -0,0 +1,79 @@ +#!/usr/bin/python +# Copyright (c) 2011 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Argument-less script to select what to run on the buildbots.""" + + +import os +import shutil +import subprocess +import sys + + +def GypTestFormat(title, format, msvs_version=None): + """Run the gyp tests for a given format, emitting annotator tags. + + See annotator docs at: + https://sites.google.com/a/chromium.org/dev/developers/testing/chromium-build-infrastructure/buildbot-annotations + Args: + format: gyp format to test. + Returns: + 0 for sucesss, 1 for failure. + """ + print '@@@BUILD_STEP ' + title + '@@@' + sys.stdout.flush() + buildbot_dir = os.path.dirname(os.path.abspath(__file__)) + trunk_dir = os.path.dirname(buildbot_dir) + root_dir = os.path.dirname(trunk_dir) + env = os.environ.copy() + if msvs_version: + env['GYP_MSVS_VERSION'] = msvs_version + retcode = subprocess.call(' '.join( + [sys.executable, 'trunk/gyptest.py', + '--all', + '--passed', + '--format', format, + '--chdir', 'trunk', + '--path', '../scons']), + cwd=root_dir, env=env, shell=True) + if retcode: + # Emit failure tag, and keep going. + print '@@@STEP_FAILURE@@@' + return 1 + return 0 + + +def GypBuild(): + # Dump out/ directory. + print '@@@BUILD_STEP cleanup@@@' + print 'Removing out/ ...' + shutil.rmtree('out', ignore_errors=True) + print 'Done.' + + retcode = 0 + if sys.platform.startswith('linux'): + retcode += GypTestFormat('scons', format='scons') + retcode += GypTestFormat('make', format='make') + elif sys.platform == 'darwin': + retcode += GypTestFormat('xcode', format='xcode') + retcode += GypTestFormat('make', format='make') + elif sys.platform == 'win32': + retcode += GypTestFormat('msvs-2008', format='msvs', msvs_version='2008') + if os.environ['BUILDBOT_BUILDERNAME'] == 'gyp-win64': + retcode += GypTestFormat('msvs-2010', format='msvs', msvs_version='2010') + else: + raise Exception('Unknown platform') + if retcode: + # TODO(bradnelson): once the annotator supports a postscript (section for + # after the build proper that could be used for cumulative failures), + # use that instead of this. This isolates the final return value so + # that it isn't misattributed to the last stage. + print '@@@BUILD_STEP failures@@@' + sys.exit(retcode) + + +if __name__ == '__main__': + GypBuild() |