| Index: sky/tools/big_red_button.py
|
| diff --git a/sky/tools/big_red_button.py b/sky/tools/big_red_button.py
|
| index f148ecd9eb3fcf22e92f29e56d1cb6a8edec54f8..1c3d4c9c93dc2fcceaeaf8656162821cc301c542 100755
|
| --- a/sky/tools/big_red_button.py
|
| +++ b/sky/tools/big_red_button.py
|
| @@ -5,23 +5,12 @@
|
|
|
| # Prepare release script.
|
| #
|
| -# 1) Bump versions:
|
| -# sky/sdk/example/demo_launcher/apk/AndroidManifest.xml
|
| -# mojo/dart/mojo_services/pubspec.yaml
|
| -# mojo/dart/mojom/pubspec.yaml
|
| -# mojo/public/dart/pubspec.yaml
|
| -# sky/sdk/pubspec.yaml
|
| -#
|
| -# 2) Update change logs:
|
| -# mojo/dart/mojo_services/CHANGELOG.md
|
| -# mojo/dart/mojom/CHANGELOG.md
|
| -# mojo/public/dart/CHANGELOG.md
|
| -# sky/sdk/CHANGELOG.md
|
| -#
|
| -# 3) Make a commit, upload it, land it.
|
| -#
|
| -# 4) Run this script.
|
| -#
|
| +# 1) Bump versions using sky/tools/roll_versions.py
|
| +# 2) Add any additional information to touched CHANGELOG.md files.
|
| +# 3) Add any release_notes/version.txt files for updated apks.
|
| +# 4) Make a commit, upload it, land it.
|
| +# 5) Run this script.
|
| +# 6) Publish updated apks using sky/tools/publish_apk.py
|
|
|
| import argparse
|
| import os
|
| @@ -29,15 +18,19 @@ import subprocess
|
| import sys
|
| import distutils.util
|
|
|
| +
|
| DEFAULT_MOJO_ROOT = '/src/mojo/src'
|
| DEFAULT_SKY_SDK_ROOT = '/src/sky_sdk'
|
| DEFAULT_DEMO_SITE_ROOT = '/src/domokit.github.io'
|
| CONFIRM_MESSAGE = """This tool is destructive and will revert your current branch to
|
| origin/master among other things. Are you sure you wish to continue?"""
|
| +DRY_RUN = False
|
|
|
|
|
| def run(cwd, args):
|
| print 'RUNNING:', ' '.join(args), 'IN:', cwd
|
| + if DRY_RUN:
|
| + return
|
| subprocess.check_call(args, cwd=cwd)
|
|
|
|
|
| @@ -49,29 +42,32 @@ def confirm(prompt):
|
| return False
|
|
|
|
|
| +def publish_packages(pub_path, packages_root):
|
| + 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'])
|
| +
|
| +
|
| 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)
|
| + parser.add_argument('--mojo-root', help='Path to mojo/src',
|
| + default=DEFAULT_MOJO_ROOT)
|
| + parser.add_argument('--sky-sdk-root', help='Path to sky_sdk',
|
| + default=DEFAULT_SKY_SDK_ROOT)
|
| + parser.add_argument('--demo-site-root', help='Path to domokit.github.io',
|
| + default=DEFAULT_DEMO_SITE_ROOT)
|
| + parser.add_argument('--dry-run', action='store_true', default=False,
|
| + help='Just print commands w/o executing.')
|
| + parser.add_argument('--no-pub-publish', dest='publish',
|
| + action='store_false', default=True, help='Skip pub publish step.')
|
| args = parser.parse_args()
|
|
|
| - if not confirm(CONFIRM_MESSAGE):
|
| + global DRY_RUN
|
| + DRY_RUN = args.dry_run
|
| +
|
| + if not args.dry_run and not confirm(CONFIRM_MESSAGE):
|
| print "Aborted."
|
| return 1
|
|
|
| @@ -105,11 +101,8 @@ def main():
|
| 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'])
|
| + if args.publish:
|
| + publish_packages(pub_path, packages_root)
|
|
|
| run(sky_sdk_root, ['git', 'push'])
|
| run(demo_site_root, ['git', 'push'])
|
|
|