Bug 1253697 - Support downloading debug artifact builds. r=nalexander draft
authorLuca Greco <lgreco@mozilla.com>
Mon, 25 Apr 2016 12:18:50 +0200
changeset 356948 e67625b7394d027ea98bff2403d1bd6fab0fb439
parent 355891 0225961ad7adbef25e670abf314ec67f5e6c224d
child 519534 0c81d0c2ee32a051bfec39401fadd85c61a57cfe
push id16657
push userluca.greco@alcacoop.it
push dateWed, 27 Apr 2016 17:46:44 +0000
reviewersnalexander
bugs1253697
milestone48.0a1
Bug 1253697 - Support downloading debug artifact builds. r=nalexander - enable debug artifact from a mozconfig file based on MOZ_DEBUG environment variable - OSX debug artifact builds have 'mac64' instead of 'mac' into their file name (fix debug artifact build download on OSX) MozReview-Commit-ID: 7kAvsTfwaCb
python/mozbuild/mozbuild/artifacts.py
--- a/python/mozbuild/mozbuild/artifacts.py
+++ b/python/mozbuild/mozbuild/artifacts.py
@@ -387,24 +387,34 @@ class WinArtifactJob(ArtifactJob):
 # The values correpsond to a pair of (<package regex>, <test archive regex>).
 JOB_DETAILS = {
     'android-api-15': (AndroidArtifactJob, ('public/build/fennec-(.*)-arm\.apk',
                                             None)),
     'android-x86': (AndroidArtifactJob, ('public/build/fennec-(.*)-i386\.apk',
                                          None)),
     'linux': (LinuxArtifactJob, ('public/build/firefox-(.*)\.linux-i686\.tar\.bz2',
                                  'public/build/firefox-(.*)\.common\.tests\.zip')),
+    'linux-debug': (LinuxArtifactJob, ('public/build/firefox-(.*)\.linux-i686\.tar\.bz2',
+                                 'public/build/firefox-(.*)\.common\.tests\.zip')),
     'linux64': (LinuxArtifactJob, ('public/build/firefox-(.*)\.linux-x86_64\.tar\.bz2',
                                    'public/build/firefox-(.*)\.common\.tests\.zip')),
+    'linux64-debug': (LinuxArtifactJob, ('public/build/firefox-(.*)\.linux-x86_64\.tar\.bz2',
+                                   'public/build/firefox-(.*)\.common\.tests\.zip')),
     'macosx64': (MacArtifactJob, ('public/build/firefox-(.*)\.mac\.dmg',
                                   'public/build/firefox-(.*)\.common\.tests\.zip')),
+    'macosx64-debug': (MacArtifactJob, ('public/build/firefox-(.*)\.mac64\.dmg',
+                                  'public/build/firefox-(.*)\.common\.tests\.zip')),
     'win32': (WinArtifactJob, ('public/build/firefox-(.*)\.win32.zip',
                                'public/build/firefox-(.*)\.common\.tests\.zip')),
+    'win32-debug': (WinArtifactJob, ('public/build/firefox-(.*)\.win32.zip',
+                               'public/build/firefox-(.*)\.common\.tests\.zip')),
     'win64': (WinArtifactJob, ('public/build/firefox-(.*)\.win64.zip',
                                'public/build/firefox-(.*)\.common\.tests\.zip')),
+    'win64-debug': (WinArtifactJob, ('public/build/firefox-(.*)\.win64.zip',
+                               'public/build/firefox-(.*)\.common\.tests\.zip')),
 }
 
 
 
 def get_job_details(job, log=None):
     cls, (package_re, tests_re) = JOB_DETAILS[job]
     return cls(package_re, tests_re, log=log)
 
@@ -749,24 +759,31 @@ class Artifacts(object):
             if buildconfig.substs['ANDROID_CPU_ARCH'] == 'x86':
                 return 'android-x86'
             return 'android-api-15'
 
         target_64bit = False
         if buildconfig.substs['target_cpu'] == 'x86_64':
             target_64bit = True
 
+        target_suffix = ''
+
+        # Add the "-debug" suffix to the guessed artifact job name
+        # if MOZ_DEBUG is enabled.
+        if buildconfig.substs.get('MOZ_DEBUG'):
+            target_suffix = '-debug'
+
         if buildconfig.defines.get('XP_LINUX', False):
-            return 'linux64' if target_64bit else 'linux'
+            return ('linux64' if target_64bit else 'linux') + target_suffix
         if buildconfig.defines.get('XP_WIN', False):
-            return 'win64' if target_64bit else 'win32'
+            return ('win64' if target_64bit else 'win32') + target_suffix
         if buildconfig.defines.get('XP_MACOSX', False):
             # We only produce unified builds in automation, so the target_cpu
             # check is not relevant.
-            return 'macosx64'
+            return 'macosx64' + target_suffix
         raise Exception('Cannot determine default job for |mach artifact|!')
 
     def _pushheads_from_rev(self, rev, count):
         """Queries hg.mozilla.org's json-pushlog for pushheads that are nearby
         ancestors or `rev`. Multiple trees are queried, as the `rev` may
         already have been pushed to multiple repositories. For each repository
         containing `rev`, the pushhead introducing `rev` and the previous
         `count` pushheads from that point are included in the output.