Make sure we add properties to other ScriptFactory instances r=rail
MozReview-Commit-ID: LU4ezZ6nl7L
--- 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