Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Unified Diff: mojo/tools/upload_binaries.py

Issue 945423002: Change structure of pointers to latest versions of apps in Google Storage. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Response to review Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/tools/upload_binaries.py
diff --git a/mojo/tools/upload_binaries.py b/mojo/tools/upload_binaries.py
index 593b86fba9f7da5e345fcc8d0e61ecb84252cf65..4acf03e96dbdf278afbc18dc36f96d1a78567dd6 100755
--- a/mojo/tools/upload_binaries.py
+++ b/mojo/tools/upload_binaries.py
@@ -57,9 +57,12 @@ def upload(config, source, dest, dry_run):
def upload_shell(config, dry_run, verbose):
paths = Paths(config)
zipfile_name = target(config)
+ version = Version().version
+
+ # Upload the binary.
# TODO(blundell): Change this to be in the same structure as the LATEST files,
# e.g., gs://mojo/shell/linux-x64/<version>/shell.zip.
- dest = "gs://mojo/shell/" + Version().version + "/" + zipfile_name + ".zip"
+ dest = "gs://mojo/shell/" + version + "/" + zipfile_name + ".zip"
with tempfile.NamedTemporaryFile() as zip_file:
with zipfile.ZipFile(zip_file, 'w') as z:
shell_path = paths.target_mojo_shell_path
@@ -78,19 +81,31 @@ def upload_shell(config, dry_run, verbose):
z.writestr(zipinfo, shell_binary.read())
upload(config, zip_file.name, dest, dry_run)
+ # Update the LATEST file to contain the version of the new binary.
+ latest_file = "gs://mojo/shell/%s/LATEST" % target(config)
+ write_file_to_gs(version, latest_file, config, dry_run)
+
def upload_app(app_binary_path, config, dry_run):
app_binary_name = os.path.basename(app_binary_path)
+ app_name, _ = os.path.splitext(app_binary_name)
version = Version().version
- dest = ("gs://mojo/services/" + target(config) + "/" + version + "/" +
- app_binary_name)
- upload(config, app_binary_path, dest, dry_run)
+ app_location_in_gs = ("mojo/services/" + target(config) + "/" + version +
+ "/" + app_binary_name)
+ gsutil_app_location = "gs://" + app_location_in_gs
+ https_app_location = "https://storage.googleapis.com/" + app_location_in_gs
+
+ # Upload the new binary.
+ upload(config, app_binary_path, gsutil_app_location, dry_run)
+
+ # Update the app's location file to point to the new binary.
+ app_location_file = ("gs://mojo/services/" + target(config) + "/" +
+ app_name + "_location")
+ write_file_to_gs(https_app_location, app_location_file, config, dry_run)
-def update_version(config, subdir, dry_run):
+def write_file_to_gs(file_contents, dest, config, dry_run):
with tempfile.NamedTemporaryFile() as temp_version_file:
- version = Version().version
- temp_version_file.write(version)
+ temp_version_file.write(file_contents)
temp_version_file.flush()
- dest = "gs://mojo/%s/%s/LATEST" % (subdir, target(config))
upload(config, temp_version_file.name, dest, dry_run)
def main():
@@ -111,13 +126,11 @@ def main():
target_os = Config.OS_ANDROID
config = Config(target_os=target_os, is_debug=False)
upload_shell(config, args.dry_run, args.verbose)
- update_version(config, "shell", args.dry_run)
apps_to_upload = find_apps_to_upload(
gn.BuildDirectoryForConfig(config, Paths(config).src_root))
for app in apps_to_upload:
upload_app(app, config, args.dry_run)
- update_version(config, "services", args.dry_run)
return 0
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698