[ews-build] Add clickable url in UI for uploaded S3 archive
https://bugs.webkit.org/show_bug.cgi?id=197996

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@245489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/BuildSlaveSupport/ews-build/steps.py b/Tools/BuildSlaveSupport/ews-build/steps.py
index e3d2b7a..2d6b634 100644
--- a/Tools/BuildSlaveSupport/ews-build/steps.py
+++ b/Tools/BuildSlaveSupport/ews-build/steps.py
@@ -790,7 +790,18 @@
         kwargs['command'] = self.command
         master.MasterShellCommand.__init__(self, logEnviron=False, **kwargs)
 
+    def start(self):
+        self.log_observer = logobserver.BufferLogObserver(wantStderr=True)
+        self.addLogObserver('stdio', self.log_observer)
+        return super(TransferToS3, self).start()
+
     def finished(self, results):
+        log_text = self.log_observer.getStdout() + self.log_observer.getStderr()
+        match = re.search(r'S3 URL: (?P<url>[^\s]+)', log_text)
+        # Sample log: S3 URL: https://s3-us-west-2.amazonaws.com/ews-archives.webkit.org/ios-simulator-12-x86_64-release/123456.zip
+        if match:
+            self.addURL('uploaded archive', match.group('url'))
+
         if results == SUCCESS:
             triggers = self.getProperty('triggers', None)
             if triggers:
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index f0fcfde..7c6ea1c 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,5 +1,14 @@
 2019-05-17  Aakash Jain  <aakash_jain@apple.com>
 
+        [ews-build] Add clickable url in UI for uploaded S3 archive
+        https://bugs.webkit.org/show_bug.cgi?id=197996
+
+        Reviewed by Jonathan Bedard.
+
+        * BuildSlaveSupport/ews-build/steps.py:
+
+2019-05-17  Aakash Jain  <aakash_jain@apple.com>
+
         [ews-app] Status bubble should not turn orange when any build step has warnings
         https://bugs.webkit.org/show_bug.cgi?id=198000