Make sure we add properties to other ScriptFactory instances r=rail draft
authorChris AtLee <catlee@mozilla.com>
Wed, 13 Apr 2016 11:37:20 -0400
changeset 4517 e3e53761ee5bcda64f134eb0747d437800466496
parent 4516 b83cbd3ea77e9b898bf68d4ae86d1fb26b40e319
push id3633
push userbmo:catlee@mozilla.com
push dateWed, 13 Apr 2016 16:36:36 +0000
reviewersrail
Make sure we add properties to other ScriptFactory instances r=rail MozReview-Commit-ID: LU4ezZ6nl7L
misc.py
process/release.py
--- a/misc.py
+++ b/misc.py
@@ -2774,16 +2774,19 @@ def generateProjectObjects(project, conf
         buildObjects = mergeBuildObjects(buildObjects, fuzzingObjects)
 
     # Spidermonkey
     elif project.startswith('spidermonkey'):
         spiderMonkeyObjects = generateSpiderMonkeyObjects(
             project, config, SLAVES)
         buildObjects = mergeBuildObjects(buildObjects, spiderMonkeyObjects)
 
+    # Make sure builders have the right properties
+    addBuilderProperties(buildObjects['builders'])
+
     return buildObjects
 
 
 def makeLogUploadCommand(branch_name, config, is_try=False, is_shadow=False,
                          platform_prop="platform", product_prop=None, product=None):
     extra_args = []
     if config.get('enable_mail_notifier'):
         if config.get('notify_real_author'):
@@ -2986,16 +2989,20 @@ def addBuilderProperties(builders):
 
         if 'slavebuilddir' in b:
             slavebuilddir = b['slavebuilddir']
         else:
             slavebuilddir = b['builddir']
 
         platform = b['properties']['platform']
 
+        # These are generally non-platform specific release jobs that run on linux machines
+        if not platform:
+            platform = 'linux'
+
         if platform.startswith('win') or platform.startswith('xp-'):
             # On Windows, test slaves use C:\slave\test, but build slaves
             # use /c/builds/moz2_slave
             if slavebuilddir == 'test':  # TODO: This check is too fragile
                 rootdir = r'C:\slave'
                 basedir = '%s\%s' % (rootdir, slavebuilddir)
             else:
                 rootdir = '/c/builds/moz2_slave'
--- a/process/release.py
+++ b/process/release.py
@@ -25,17 +25,18 @@ reload(release.platforms)
 reload(release.paths)
 reload(build.paths)
 reload(release.info)
 
 from buildbotcustom.status.mail import ChangeNotifier
 from buildbotcustom.misc import (
     generateTestBuilderNames, generateTestBuilder, changeContainsProduct,
     nomergeBuilders, changeContainsProperties,
-    changeContainsScriptRepoRevision, makeMHFactory)
+    changeContainsScriptRepoRevision, makeMHFactory,
+    addBuilderProperties)
 from buildbotcustom.common import normalizeName
 from buildbotcustom.process.factory import (
     ScriptFactory, SingleSourceFactory, ReleaseBuildFactory,
     ReleaseUpdatesFactory, ReleaseFinalVerification,
     makeDummyBuilder, SigningScriptFactory,
     DummyFactory)
 from release.platforms import buildbot2ftp
 from release.paths import makeCandidatesDir
@@ -1744,16 +1745,19 @@ def generateReleaseBranchObjects(release
         props = b.setdefault('properties', {})
         if 'build_number' not in props:
             props['build_number'] = releaseConfig['buildNumber']
         if 'version' not in props:
             props['version'] = releaseConfig['version']
         if 'product' not in props:
             props['product'] = releaseConfig['productName'].capitalize()
 
+    # Make sure builders have the right properties
+    addBuilderProperties(builders)
+
     return {
         "builders": builders,
         "status": status,
         "change_source": change_source,
         "schedulers": schedulers,
     }
 
 
@@ -2023,9 +2027,12 @@ def generateReleasePromotionBuilders(bra
                 'platform': platform,
                 'product': product,
             }
         })
 
     # Don't merge release builder requests
     nomergeBuilders.update([b['name'] for b in builders])
 
+    # Make sure builders have the right properties
+    addBuilderProperties(builders)
+
     return builders