2013-04-28 19:59:12 +04:00
|
|
|
#!/usr/bin/env python
|
2013-02-28 17:53:18 +04:00
|
|
|
|
2013-04-28 19:59:12 +04:00
|
|
|
import os
|
2014-10-10 13:54:26 +04:00
|
|
|
import platform
|
2013-04-28 19:59:12 +04:00
|
|
|
import subprocess
|
|
|
|
import sys
|
2013-03-07 17:43:45 +04:00
|
|
|
|
|
|
|
|
2013-04-28 19:59:12 +04:00
|
|
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
2013-05-09 17:06:13 +04:00
|
|
|
# We're in JENKINS_ROOT/workspace/libchromiumcontent. Walk up to JENKINS_ROOT.
|
|
|
|
JENKINS_ROOT = os.path.dirname(os.path.dirname(SOURCE_ROOT))
|
|
|
|
S3_CREDENTIALS_FILE = os.path.join(JENKINS_ROOT, 'config', 's3credentials')
|
2013-03-07 17:43:45 +04:00
|
|
|
|
|
|
|
|
2013-04-28 19:59:12 +04:00
|
|
|
def main():
|
2014-10-11 19:46:29 +04:00
|
|
|
if not os.path.isfile(S3_CREDENTIALS_FILE):
|
|
|
|
return 'Error: Can\'t find {0}'.format(S3_CREDENTIALS_FILE)
|
|
|
|
copy_to_environment(S3_CREDENTIALS_FILE)
|
2013-03-07 17:43:45 +04:00
|
|
|
|
2014-10-11 19:46:29 +04:00
|
|
|
print 'Python version:', platform.python_version()
|
|
|
|
print 'OS version:', os_version()
|
2014-10-10 13:54:26 +04:00
|
|
|
|
2014-10-11 19:46:29 +04:00
|
|
|
if sys.platform in ['win32', 'cygwin']:
|
2016-03-12 21:07:41 +03:00
|
|
|
return (run_ci(['-t', 'x64']) or
|
|
|
|
run_ci(['-t', 'ia32']))
|
2015-07-08 05:19:02 +03:00
|
|
|
elif sys.platform == 'linux2':
|
2016-03-12 21:07:41 +03:00
|
|
|
return (run_ci(['-t', 'x64']) or
|
|
|
|
run_ci(['-t', 'ia32']) or
|
|
|
|
run_ci(['-t', 'arm']))
|
2015-06-09 12:09:30 +03:00
|
|
|
else:
|
|
|
|
return run_ci([])
|
2013-03-07 17:43:45 +04:00
|
|
|
|
2013-02-28 17:53:18 +04:00
|
|
|
|
2013-04-28 19:59:12 +04:00
|
|
|
def copy_to_environment(credentials_file):
|
|
|
|
with open(credentials_file, 'r') as f:
|
|
|
|
for line in f:
|
|
|
|
key, value = line.strip().split('=')
|
|
|
|
key = key.replace('JANKY_ARTIFACTS_', 'LIBCHROMIUMCONTENT_')
|
|
|
|
value = value.strip("'")
|
|
|
|
os.environ[key] = value
|
|
|
|
|
|
|
|
|
2014-10-10 13:54:26 +04:00
|
|
|
def os_version():
|
|
|
|
if sys.platform in ['win32', 'cygwin']:
|
|
|
|
return platform.system() + ' ' + platform.release() + ' ' + platform.version()
|
|
|
|
elif sys.platform == 'darwin':
|
|
|
|
mac_ver = platform.mac_ver()
|
|
|
|
return 'Mac OS X ' + mac_ver[0] + ' ' + mac_ver[2]
|
|
|
|
else:
|
|
|
|
return platform.platform()
|
|
|
|
|
|
|
|
|
2015-06-09 12:09:30 +03:00
|
|
|
def run_ci(args):
|
|
|
|
return (run_script('bootstrap') or
|
|
|
|
run_script('update', args) or
|
|
|
|
run_script('build', args) or
|
|
|
|
run_script('create-dist', args) or
|
|
|
|
run_script('upload', args))
|
|
|
|
|
|
|
|
|
2014-10-11 19:46:29 +04:00
|
|
|
def run_script(script, args=[]):
|
|
|
|
script = os.path.join('script', script)
|
|
|
|
sys.stderr.write('+ {0}\n'.format(script))
|
|
|
|
sys.stderr.flush()
|
|
|
|
return subprocess.call([sys.executable, script] + args)
|
2013-04-28 19:59:12 +04:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
sys.exit(main())
|