From fc4dd0aecbd87333e0c8b756a0b58687143af7f3 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Sun, 12 May 2013 16:52:43 +0800 Subject: [PATCH] Save the latest version when uploading distribution. --- .gitignore | 1 + script/upload | 36 ++++++++++++++++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 9b26df2c96c..0999ffcd461 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .DS_Store atom-shell.zip +version build/ dist/ node/ diff --git a/script/upload b/script/upload index e0387b54a73..f9bb20b097a 100755 --- a/script/upload +++ b/script/upload @@ -4,6 +4,7 @@ import errno import glob import os import subprocess +import tempfile SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) @@ -32,17 +33,9 @@ def upload(): bucket, access_key, secret_key = s3_config() commit = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip() - args = [ - 's3put', - '--bucket', bucket, - '--access_key', access_key, - '--secret_key', secret_key, - '--prefix', SOURCE_ROOT, - '--key_prefix', 'atom-shell/{0}'.format(commit), - '--grant', 'public-read' - ] + glob.glob('atom-shell*.zip') + s3put(bucket, access_key, secret_key, 'atom-shell/{0}'.format(commit), glob.glob('atom-shell*.zip')) - subprocess.check_call(args) + update_version(bucket, access_key, secret_key, commit) def s3_config(): @@ -56,6 +49,29 @@ def s3_config(): return config +def update_version(bucket, access_key, secret_key, commit): + version_path = os.path.join(SOURCE_ROOT, 'version') + with open(version_path, 'w') as version_file: + version_file.write(commit) + + # Upload after file is closed, it's required under Windows. + s3put(bucket, access_key, secret_key, 'atom-shell', [ version_path ]) + + +def s3put(bucket, access_key, secret_key, key_prefix, files): + args = [ + 's3put', + '--bucket', bucket, + '--access_key', access_key, + '--secret_key', secret_key, + '--prefix', SOURCE_ROOT, + '--key_prefix', key_prefix, + '--grant', 'public-read' + ] + files + + subprocess.check_call(args) + + if __name__ == '__main__': import sys sys.exit(main())