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

Unified Diff: editor/build/promote.py

Issue 26607003: Change promote script to be able to archive to the new gs://dart-archive/ location (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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: editor/build/promote.py
diff --git a/editor/build/promote.py b/editor/build/promote.py
index f72c1cf44bb5d398b7164cc872489786d64a8f1b..75d1d50c4fc47ce1d0bae84c4c41b088b3c8d4d0 100644
--- a/editor/build/promote.py
+++ b/editor/build/promote.py
@@ -7,6 +7,7 @@
# Dart Editor promote and google storage cleanup tools.
import gsutil
+import imp
import optparse
import os
import subprocess
@@ -22,7 +23,11 @@ INTEGRATION = 'gs://dart-editor-archive-integration'
RELEASE = 'gs://dart-editor-archive-release'
INTERNAL = 'gs://dart-editor-archive-internal'
-DART_PATH = os.path.join('..', '..', '..', 'dart')
+DART_PATH = os.path.abspath(os.path.join(__file__, '..', '..', '..'))
+BOT_UTILS = os.path.abspath(os.path.join(
+ DART_PATH, 'tools', 'bots', 'bot_utils.py'))
+
+bot_utils = imp.load_source('bot_utils', BOT_UTILS)
def _BuildOptions():
"""Setup the argument processing for this program.
@@ -76,6 +81,9 @@ def _BuildOptions():
group.add_option('--integration',
help='Promote from integration',
action='store_true')
+ group.add_option('--channel', type='string',
+ help='Promote from this channel',
+ default=None)
result.add_option_group(group)
result.add_option('--gsbucketuri',
@@ -112,8 +120,10 @@ def main():
parser.print_help()
sys.exit(3)
if not (options.continuous or options.integration or
- options.testing or options.trunk or options.internal):
- print 'Specify --continuous, --integration, --testing, or --trunk'
+ options.testing or options.trunk or options.internal or
+ options.channel):
+ print ('Specify --continuous, --integration, --testing, --trunk or '
+ '--channel=be/dev/stable')
parser.print_help()
sys.exit(4)
if options.continuous and options.integration:
@@ -165,8 +175,11 @@ def main():
version_dirs = _ReadBucket(gsu, '{0}/{1}'.format(bucket, '[0-9]*'))
_RemoveElements(gsu, bucket, version_dirs, options.keepcount)
elif command == 'promote':
- _PromoteBuild(options.revision, bucket_from, bucket_to)
- _UpdateDocs()
+ if options.channel:
+ _PromoteDartArchiveBuild(options.channel, options.revision)
+ else:
+ _PromoteBuild(options.revision, bucket_from, bucket_to)
+ _UpdateDocs()
def _UpdateDocs():
@@ -268,6 +281,52 @@ def _PromoteBuild(revision, from_bucket, to_bucket):
_Gsutil(['cp', '-a', 'public-read', srcVersion, destUpdate + 'plugins/'])
_Gsutil(['cp', '-r', '-a', 'public-read', src + '*', dest])
+def _PromoteDartArchiveBuild(channel, revision):
ricow1 2013/10/14 15:39:38 I think it would be really beneficial to actually
kustermann 2013/10/15 08:01:18 Then it should obviously be in bot_utils.py. (Othe
+ raw_namer = bot_utils.GCSNamer(channel, bot_utils.ReleaseType.RAW)
+ signed_namer = bot_utils.GCSNamer(channel, bot_utils.ReleaseType.SIGNED)
+ release_namer = bot_utils.GCSNamer(channel, bot_utils.ReleaseType.RELEASE)
+
+ def promote(to_revision):
+ # Copy VERSION file.
+ from_loc = raw_namer.version_filepath(revision)
+ to_loc = release_namer.version_filepath(to_revision)
+ _Gsutil(['cp', '-a', 'public-read', from_loc, to_loc])
+
+ # Copy sdk directory.
+ from_loc = raw_namer.sdk_directory(revision)
+ to_loc = release_namer.sdk_directory(to_revision)
+ _Gsutil(['-m', 'cp', '-a', 'public-read', '-R', from_loc, to_loc])
+
+ # Copy eclipse update directory.
+ from_loc = raw_namer.editor_eclipse_update_directory(revision)
+ to_loc = release_namer.editor_eclipse_update_directory(to_revision)
+ _Gsutil(['-m', 'cp', '-a', 'public-read', '-R', from_loc, to_loc])
+
+ # Copy api-docs directory.
+ from_loc = raw_namer.apidocs_directory(revision)
+ to_loc = release_namer.apidocs_directory(to_revision)
+ _Gsutil(['-m', 'cp', '-a', 'public-read', '-R', from_loc, to_loc])
+
+ # Copy dartium directory.
+ from_loc = raw_namer.dartium_directory(revision)
+ to_loc = release_namer.dartium_directory(to_revision)
+ _Gsutil(['-m', 'cp', '-a', 'public-read', '-R', from_loc, to_loc])
+
+ # Copy editor zip files.
+ for system in ['windows', 'macos', 'linux']:
+ for arch in ['ia32', 'x64']:
+ from_namer = raw_namer
+ # We have signed versions of the editor for windows and macos.
+ if system == 'windows' or system == 'macos':
+ from_namer = signed_namer
+ from_loc = from_namer.editor_zipfilepath(revision, system, arch)
+ to_loc = release_namer.editor_zipfilepath(to_revision, system, arch)
+ _Gsutil(['cp', '-a', 'public-read', from_loc, to_loc])
+ _Gsutil(['cp', '-a', 'public-read', from_loc + '.md5sum',
+ to_loc + '.md5sum'])
+
+ promote(revision)
+ promote('latest')
def _PrintSeparator(text):
print '================================'
« 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