OLD | NEW |
1 # Roll versions script: | 1 # Roll versions script: |
2 # /src/mojo/src/sky/apk/demo/AndroidManifest.xml version and string. | 2 # /src/mojo/src/sky/apk/demo/AndroidManifest.xml version and string. |
3 # Update versions of pub packages: | 3 # Update versions of pub packages: |
4 | 4 |
5 # Make a commit, upload it, land it. | 5 # Make a commit, upload it, land it. |
6 | 6 |
| 7 # Useful links: |
| 8 # http://stackoverflow.com/questions/14665518/api-to-automatically-upload-apk-to
-google-play |
| 9 # https://developers.google.com/resources/api-libraries/documentation/androidpub
lisher/v2/python/latest/androidpublisher_v2.edits.apks.html |
| 10 |
| 11 import argparse |
7 import os | 12 import os |
8 import subprocess | 13 import subprocess |
9 | 14 |
| 15 DEFAULT_MOJO_ROOT = '/src/mojo/src' |
| 16 DEFAULT_SKY_SDK_ROOT = '/src/sky_sdk' |
| 17 DEFAULT_DEMO_SITE_ROOT = '/src/domokit.github.io' |
| 18 |
10 def run(cwd, args): | 19 def run(cwd, args): |
11 print 'RUNNING:', ' '.join(args), 'IN:', cwd | 20 print 'RUNNING:', ' '.join(args), 'IN:', cwd |
12 subprocess.check_call(args, cwd=cwd) | 21 subprocess.check_call(args, cwd=cwd) |
13 | 22 |
14 # Input paths: | |
15 # FIXME: These could be args? | |
16 MOJO_ROOT = '/src/mojo/src' | |
17 SKY_SDK_ROOT = '/src/sky_sdk' | |
18 DEMO_SITE_ROOT = '/src/domokit.github.io' | |
19 | 23 |
20 # Derived paths: | 24 def main(): |
21 DART_SDK_ROOT = os.path.join(MOJO_ROOT, 'third_party/dart-sdk/dart-sdk') | 25 parser = argparse.ArgumentParser(description='Deploy!') |
22 PUB_PATH = os.path.join(DART_SDK_ROOT, 'bin/pub') | 26 parser.add_argument('--mojo-root', |
23 PACKAGES_ROOT = os.path.join(SKY_SDK_ROOT, 'packages') | 27 action='store', |
| 28 type=str, |
| 29 metavar='mojo_root', |
| 30 help='Path to mojo/src', |
| 31 default=DEFAULT_MOJO_ROOT) |
| 32 parser.add_argument('--sky-sdk-root', |
| 33 action='store', |
| 34 type=str, |
| 35 metavar='sky_sdk_root', |
| 36 help='Path to sky_sdk', |
| 37 default=DEFAULT_SKY_SDK_ROOT) |
| 38 parser.add_argument('--demo-site-root', |
| 39 action='store', |
| 40 type=str, |
| 41 metavar='demo_site_root', |
| 42 help='Path to domokit.github.io', |
| 43 default=DEFAULT_DEMO_SITE_ROOT) |
| 44 args = parser.parse_args() |
| 45 |
| 46 mojo_root = args.mojo_root |
| 47 sky_sdk_root = args.sky_sdk_root |
| 48 demo_site_root = args.demo_site_root |
| 49 |
| 50 # Derived paths: |
| 51 dart_sdk_root = os.path.join(mojo_root, 'third_party/dart-sdk/dart-sdk') |
| 52 pub_path = os.path.join(dart_sdk_root, 'bin/pub') |
| 53 packages_root = os.path.join(sky_sdk_root, 'packages') |
| 54 |
| 55 run(mojo_root, ['git', 'pull', '--rebase']) |
| 56 run(mojo_root, ['gclient', 'sync']) |
| 57 run(mojo_root, ['mojo/tools/mojob.py', 'gn', '--android', '--release']) |
| 58 run(mojo_root, ['mojo/tools/mojob.py', 'build', '--android', '--release']) |
| 59 # Run tests? |
| 60 |
| 61 run(sky_sdk_root, ['git', 'reset', '--hard', 'origin/master']) |
| 62 run(mojo_root, [ |
| 63 'sky/tools/deploy_sdk.py', |
| 64 '--non-interactive', |
| 65 '--commit', |
| 66 sky_sdk_root |
| 67 ]) |
| 68 # tag for version? |
| 69 |
| 70 run(demo_site_root, ['git', 'reset', '--hard', 'origin/master']) |
| 71 run(mojo_root, ['mojo/tools/deploy_domokit_site.py', demo_site_root]) |
| 72 # tag for version? |
| 73 |
| 74 for package in os.listdir(packages_root): |
| 75 package_path = os.path.join(packages_root, package) |
| 76 if not os.path.isdir(package_path): |
| 77 continue |
| 78 run(package_path, [pub_path, 'publish', '--force']) |
| 79 |
| 80 run(sky_sdk_root, ['git', 'push']) |
| 81 run(demo_site_root, ['git', 'push']) |
24 | 82 |
25 | 83 |
26 run(MOJO_ROOT, ['git', 'pull', '--rebase']) | 84 if __name__ == '__main__': |
27 run(MOJO_ROOT, ['gclient', 'sync']) | 85 sys.exit(main()) |
28 run(MOJO_ROOT, ['mojo/tools/mojob.py', 'gn', '--android', '--release']) | |
29 run(MOJO_ROOT, ['mojo/tools/mojob.py', 'build', '--android', '--release']) | |
30 # Run tests? | |
31 | |
32 run(SKY_SDK_ROOT, ['git', 'reset', '--hard', 'origin/master']) | |
33 run(MOJO_ROOT, [ | |
34 'sky/tools/deploy_sdk.py', | |
35 '--non-interactive', | |
36 '--commit', | |
37 SKY_SDK_ROOT | |
38 ]) | |
39 # tag for version? | |
40 | |
41 run(DEMO_SITE_ROOT, ['git', 'reset', '--hard', 'origin/master']) | |
42 run(MOJO_ROOT, ['mojo/tools/deploy_domokit_site.py', DEMO_SITE_ROOT]) | |
43 # tag for version? | |
44 | |
45 for package in os.listdir(PACKAGES_ROOT): | |
46 package_path = os.path.join(PACKAGES_ROOT, package) | |
47 if not os.path.isdir(package_path): | |
48 continue | |
49 run(package_path, [PUB_PATH, 'publish', '--force']) | |
50 | |
51 run(SKY_SDK_ROOT, ['git', 'push']) | |
52 run(DEMO_SITE_ROOT, ['git', 'push']) | |
53 | |
54 # http://stackoverflow.com/questions/14665518/api-to-automatically-upload-apk-to
-google-play | |
55 # https://developers.google.com/resources/api-libraries/documentation/androidpub
lisher/v2/python/latest/androidpublisher_v2.edits.apks.html | |
OLD | NEW |