| Index: sky/tools/big_red_button.py
|
| diff --git a/sky/tools/big_red_button.py b/sky/tools/big_red_button.py
|
| index c0968aefad1ecc8ad7669557865a09336bfb36d9..3136a24db8c252e921f861f29dd05c7c6a1d9a5c 100644
|
| --- a/sky/tools/big_red_button.py
|
| +++ b/sky/tools/big_red_button.py
|
| @@ -4,52 +4,82 @@
|
|
|
| # Make a commit, upload it, land it.
|
|
|
| +# Useful links:
|
| +# http://stackoverflow.com/questions/14665518/api-to-automatically-upload-apk-to-google-play
|
| +# https://developers.google.com/resources/api-libraries/documentation/androidpublisher/v2/python/latest/androidpublisher_v2.edits.apks.html
|
| +
|
| +import argparse
|
| import os
|
| import subprocess
|
|
|
| +DEFAULT_MOJO_ROOT = '/src/mojo/src'
|
| +DEFAULT_SKY_SDK_ROOT = '/src/sky_sdk'
|
| +DEFAULT_DEMO_SITE_ROOT = '/src/domokit.github.io'
|
| +
|
| def run(cwd, args):
|
| print 'RUNNING:', ' '.join(args), 'IN:', cwd
|
| subprocess.check_call(args, cwd=cwd)
|
|
|
| -# Input paths:
|
| -# FIXME: These could be args?
|
| -MOJO_ROOT = '/src/mojo/src'
|
| -SKY_SDK_ROOT = '/src/sky_sdk'
|
| -DEMO_SITE_ROOT = '/src/domokit.github.io'
|
| -
|
| -# Derived paths:
|
| -DART_SDK_ROOT = os.path.join(MOJO_ROOT, 'third_party/dart-sdk/dart-sdk')
|
| -PUB_PATH = os.path.join(DART_SDK_ROOT, 'bin/pub')
|
| -PACKAGES_ROOT = os.path.join(SKY_SDK_ROOT, 'packages')
|
| -
|
| -
|
| -run(MOJO_ROOT, ['git', 'pull', '--rebase'])
|
| -run(MOJO_ROOT, ['gclient', 'sync'])
|
| -run(MOJO_ROOT, ['mojo/tools/mojob.py', 'gn', '--android', '--release'])
|
| -run(MOJO_ROOT, ['mojo/tools/mojob.py', 'build', '--android', '--release'])
|
| -# Run tests?
|
| -
|
| -run(SKY_SDK_ROOT, ['git', 'reset', '--hard', 'origin/master'])
|
| -run(MOJO_ROOT, [
|
| - 'sky/tools/deploy_sdk.py',
|
| - '--non-interactive',
|
| - '--commit',
|
| - SKY_SDK_ROOT
|
| -])
|
| -# tag for version?
|
| -
|
| -run(DEMO_SITE_ROOT, ['git', 'reset', '--hard', 'origin/master'])
|
| -run(MOJO_ROOT, ['mojo/tools/deploy_domokit_site.py', DEMO_SITE_ROOT])
|
| -# tag for version?
|
| -
|
| -for package in os.listdir(PACKAGES_ROOT):
|
| - package_path = os.path.join(PACKAGES_ROOT, package)
|
| - if not os.path.isdir(package_path):
|
| - continue
|
| - run(package_path, [PUB_PATH, 'publish', '--force'])
|
| -
|
| -run(SKY_SDK_ROOT, ['git', 'push'])
|
| -run(DEMO_SITE_ROOT, ['git', 'push'])
|
|
|
| -# http://stackoverflow.com/questions/14665518/api-to-automatically-upload-apk-to-google-play
|
| -# https://developers.google.com/resources/api-libraries/documentation/androidpublisher/v2/python/latest/androidpublisher_v2.edits.apks.html
|
| +def main():
|
| + parser = argparse.ArgumentParser(description='Deploy!')
|
| + parser.add_argument('--mojo-root',
|
| + action='store',
|
| + type=str,
|
| + metavar='mojo_root',
|
| + help='Path to mojo/src',
|
| + default=DEFAULT_MOJO_ROOT)
|
| + parser.add_argument('--sky-sdk-root',
|
| + action='store',
|
| + type=str,
|
| + metavar='sky_sdk_root',
|
| + help='Path to sky_sdk',
|
| + default=DEFAULT_SKY_SDK_ROOT)
|
| + parser.add_argument('--demo-site-root',
|
| + action='store',
|
| + type=str,
|
| + metavar='demo_site_root',
|
| + help='Path to domokit.github.io',
|
| + default=DEFAULT_DEMO_SITE_ROOT)
|
| + args = parser.parse_args()
|
| +
|
| + mojo_root = args.mojo_root
|
| + sky_sdk_root = args.sky_sdk_root
|
| + demo_site_root = args.demo_site_root
|
| +
|
| + # Derived paths:
|
| + dart_sdk_root = os.path.join(mojo_root, 'third_party/dart-sdk/dart-sdk')
|
| + pub_path = os.path.join(dart_sdk_root, 'bin/pub')
|
| + packages_root = os.path.join(sky_sdk_root, 'packages')
|
| +
|
| + run(mojo_root, ['git', 'pull', '--rebase'])
|
| + run(mojo_root, ['gclient', 'sync'])
|
| + run(mojo_root, ['mojo/tools/mojob.py', 'gn', '--android', '--release'])
|
| + run(mojo_root, ['mojo/tools/mojob.py', 'build', '--android', '--release'])
|
| + # Run tests?
|
| +
|
| + run(sky_sdk_root, ['git', 'reset', '--hard', 'origin/master'])
|
| + run(mojo_root, [
|
| + 'sky/tools/deploy_sdk.py',
|
| + '--non-interactive',
|
| + '--commit',
|
| + sky_sdk_root
|
| + ])
|
| + # tag for version?
|
| +
|
| + run(demo_site_root, ['git', 'reset', '--hard', 'origin/master'])
|
| + run(mojo_root, ['mojo/tools/deploy_domokit_site.py', demo_site_root])
|
| + # tag for version?
|
| +
|
| + for package in os.listdir(packages_root):
|
| + package_path = os.path.join(packages_root, package)
|
| + if not os.path.isdir(package_path):
|
| + continue
|
| + run(package_path, [pub_path, 'publish', '--force'])
|
| +
|
| + run(sky_sdk_root, ['git', 'push'])
|
| + run(demo_site_root, ['git', 'push'])
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main())
|
|
|