[ews-build] Enabling uploading EWS archives to S3
https://bugs.webkit.org/show_bug.cgi?id=197914
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/Shared: Added.
* BuildSlaveSupport/Shared/transfer-archive-to-s3: Moved from Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3.
(archiveExists): Replace tab with space.
(main): Added main method.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(TransferToS3): Updated path to the script.
* BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3: Moved to Shared folder.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@245359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/BuildSlaveSupport/Shared/transfer-archive-to-s3 b/Tools/BuildSlaveSupport/Shared/transfer-archive-to-s3
new file mode 100644
index 0000000..a30ff8a
--- /dev/null
+++ b/Tools/BuildSlaveSupport/Shared/transfer-archive-to-s3
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+import argparse
+import boto3
+import os
+import sys
+
+S3_DEFAULT_BUCKET = 'archives.webkit.org'
+S3_EWS_BUCKET = 'ews-archives.webkit.org'
+S3_MINIFIED_BUCKET = 'minified-archives.webkit.org'
+S3_REGION_PREFIX = 'https://s3-us-west-2.amazonaws.com'
+
+def uploadToS3(archive_path, bucket, identifier, revision):
+ print 'Transferring {} to S3...'.format(archive_path)
+ key = '/'.join([identifier, revision + '.zip'])
+ print '\tS3 Bucket: {}\n\tS3 Key: {}'.format(bucket, key)
+ s3 = boto3.client('s3')
+ s3.upload_file(archive_path, bucket, key)
+ print('\tS3 URL: {}/{}/{}'.format(S3_REGION_PREFIX, bucket, key))
+
+def archiveExists(archive):
+ if archive:
+ if os.path.exists(archive):
+ return True
+ else:
+ print 'WARNING: Archive does not exist: {}'.format(archive)
+ return False
+
+def main():
+ parser = argparse.ArgumentParser(add_help=True)
+
+ group = parser.add_mutually_exclusive_group(required=True)
+ group.add_argument('--revision', action="store", help='Revision number or patch_id for the built archive')
+ group.add_argument('--patch_id', action="store", help='patch_id of the patch')
+
+ parser.add_argument('--identifier', action="store", required=True, help='S3 destination identifier, in the form of fullPlatform-architecture-configuration. [mac-mojave-x86_64-release]')
+ parser.add_argument('--archive', action="store", required=True, help='Path to the full size archive. [path/to/123456.zip]')
+ args = parser.parse_args()
+
+ parentdir, filename = os.path.split(str(args.archive))
+ minifiedArchive = os.path.join(parentdir, 'minified-' + filename)
+
+ s3_bucket = S3_DEFAULT_BUCKET
+ if args.patch_id:
+ s3_bucket = S3_EWS_BUCKET
+
+ if archiveExists(args.archive):
+ uploadToS3(args.archive, s3_bucket, args.identifier, args.revision or args.patch_id)
+ if not args.patch_id and archiveExists(minifiedArchive):
+ uploadToS3(minifiedArchive, S3_MINIFIED_BUCKET, args.identifier, args.revision)
+
+if __name__ == "__main__":
+ main()
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py b/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
index 2a0e04e..c27d262 100644
--- a/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
+++ b/Tools/BuildSlaveSupport/build.webkit.org-config/steps.py
@@ -874,7 +874,7 @@
minifiedArchive = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/minified-%(got_revision)s.zip")
identifier = WithProperties("%(fullPlatform)s-%(architecture)s-%(configuration)s")
revision = WithProperties("%(got_revision)s")
- command = ["python", "./transfer-archive-to-s3", "--revision", revision, "--identifier", identifier, "--archive", archive]
+ command = ["python", "../Shared/transfer-archive-to-s3", "--revision", revision, "--identifier", identifier, "--archive", archive]
haltOnFailure = True
def __init__(self, **kwargs):
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3 b/Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3
deleted file mode 100644
index 183952c..0000000
--- a/Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-import argparse
-import boto3
-import os
-import os.path
-import sys
-
-S3_BUCKET = 'archives.webkit.org'
-S3_MINIFIED_BUCKET = 'minified-archives.webkit.org'
-S3_REGION_PREFIX = 'https://s3-us-west-2.amazonaws.com'
-
-def uploadToS3(archive_path, bucket, identifier, revision):
- print 'Transferring {} to S3...'.format(archive_path)
- key = '/'.join([identifier, revision + '.zip'])
- print '\tS3 Bucket: {}\n\tS3 Key: {}'.format(bucket, key)
- s3.upload_file(archive_path, bucket, key)
- print('\tS3 URL: {}/{}/{}'.format(S3_REGION_PREFIX, bucket, key))
-
-def archiveExists(archive):
- if archive:
- if os.path.exists(archive):
- return True
- else:
- print 'WARNING: Archive does not exist: {}'.format(archive)
- return False
-
-parser = argparse.ArgumentParser(add_help=True)
-parser.add_argument('--revision', action="store", required=True, help='Revision number for the built archive')
-parser.add_argument('--identifier', action="store", required=True, help='S3 destination identifier, in the form of fullPlatform-architecture-configuration. [mac-sierra-x86_64-release]')
-parser.add_argument('--archive', action="store", required=True, help='Path to the full size archive. [path/to/123456.zip]')
-args = parser.parse_args()
-
-
-head, tail = os.path.split(str(args.archive))
-minifiedArchive = head + '/minified-' + tail
-s3 = boto3.client('s3')
-
-if archiveExists(args.archive):
- uploadToS3(args.archive, S3_BUCKET, args.identifier, args.revision)
-if archiveExists(minifiedArchive):
- uploadToS3(minifiedArchive, S3_MINIFIED_BUCKET, args.identifier, args.revision)
\ No newline at end of file
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index fa2f1d1..547a1b9 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,18 @@
+2019-05-15 Aakash Jain <aakash_jain@apple.com>
+
+ [ews-build] Enabling uploading EWS archives to S3
+ https://bugs.webkit.org/show_bug.cgi?id=197914
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/Shared: Added.
+ * BuildSlaveSupport/Shared/transfer-archive-to-s3: Moved from Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3.
+ (archiveExists): Replace tab with space.
+ (main): Added main method.
+ * BuildSlaveSupport/build.webkit.org-config/steps.py:
+ (TransferToS3): Updated path to the script.
+ * BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3: Moved to Shared folder.
+
2019-05-15 Wenson Hsieh <wenson_hsieh@apple.com>
inputmode="numeric" should show a number pad with digits 0-9, instead of the numeric keyplane