bug 1153242: update verify fails for first few beta releases after RC - add support for passing mar channel ids to patcher config bumper. r=nthomas
authorBen Hearsum <bhearsum@mozilla.com>
Fri, 17 Apr 2015 13:08:34 -0400 (2015-04-17)
changeset 4195 b63222955c94f20472a11a4b7d1cf9567f627cb1
parent 4191 785722efec9b5cdf7d7fa56b84cf55415a390062
child 4196 8e4c2cc6bf4023167f1126dc5c2d84f5887e97dc
child 4197 a2e870ab70a482192fa7c2ce19a25ee1be6f40fe
push id3499
push userbhearsum@mozilla.com
push dateFri, 17 Apr 2015 17:08:40 +0000 (2015-04-17)
reviewersnthomas
bugs1153242
bug 1153242: update verify fails for first few beta releases after RC - add support for passing mar channel ids to patcher config bumper. r=nthomas
process/factory.py
process/release.py
--- a/process/factory.py
+++ b/process/factory.py
@@ -3898,17 +3898,17 @@ class ReleaseUpdatesFactory(ReleaseFacto
 
     def __init__(self, patcherConfig, verifyConfigs, appName, productName,
                  configRepoPath, version, appVersion, baseTag, buildNumber,
                  partialUpdates, ftpServer, bouncerServer, stagingServer,
                  hgSshKey, hgUsername, releaseChannel, localTestChannel, brandName=None,
                  buildSpace=2, triggerSchedulers=None, releaseNotesUrl=None,
                  python='python', promptWaitTime=None,
                  balrog_api_root=None, balrog_credentials_file=None,
-                 balrog_username=None, **kwargs):
+                 balrog_username=None, mar_channel_ids=[], **kwargs):
         ReleaseFactory.__init__(self, buildSpace=buildSpace, **kwargs)
 
         self.patcherConfig = patcherConfig
         self.verifyConfigs = verifyConfigs
         self.appName = appName
         self.productName = productName
         self.version = version
         self.appVersion = appVersion
@@ -3924,16 +3924,17 @@ class ReleaseUpdatesFactory(ReleaseFacto
         self.python = python
         self.configRepoPath = configRepoPath
         self.promptWaitTime = promptWaitTime
         self.balrog_api_root = balrog_api_root
         self.balrog_credentials_file = balrog_credentials_file
         self.balrog_username = balrog_username
         self.testChannel = localTestChannel
         self.releaseChannel = releaseChannel
+        self.mar_channel_ids = mar_channel_ids
 
         self.previousVersion = getPreviousVersion(self.version,
                                                   self.partialUpdates.keys())
         self.patcherConfigFile = 'tools/release/patcher-configs/%s' % patcherConfig
         self.shippedLocales = self.getShippedLocales(self.repository, baseTag,
                                                      appName)
         self.brandName = brandName or productName.capitalize()
         self.releaseNotesUrl = releaseNotesUrl
@@ -3963,16 +3964,18 @@ class ReleaseUpdatesFactory(ReleaseFacto
                        '-t', self.stagingServer, '-f', self.ftpServer,
                        '-d', self.bouncerServer, '-l', 'shipped-locales']
         for previousVersion in self.partialUpdates:
             bumpCommand.extend(['--partial-version', previousVersion])
         for platform in sorted(self.verifyConfigs.keys()):
             bumpCommand.extend(['--platform', platform])
         if self.promptWaitTime:
             bumpCommand.extend(['--prompt-wait-time', self.promptWaitTime])
+        for c in self.mar_channel_ids:
+            bumpCommand.extend(["--mar-channel-id", c])
         if self.releaseNotesUrl:
             rnurl = self.releaseNotesUrl
             if self.use_mock:
                 rnurl = self.releaseNotesUrl.replace('%', '%%')
             bumpCommand.extend(['-n', rnurl])
         bump_env = self.env.copy()
         bump_env['PERL5LIB'] = 'tools/lib/perl'
         self.addStep(MockCommand(
--- a/process/release.py
+++ b/process/release.py
@@ -1259,16 +1259,17 @@ def generateReleaseBranchObjects(release
             mock_target=pf.get('mock_target'),
             mock_packages=pf.get('mock_packages'),
             mock_copyin_files=pf.get('mock_copyin_files'),
             promptWaitTime=releaseConfig.get(
                 'promptWaitTime', None),
             balrog_api_root=balrog_api_root,
             balrog_username=balrog_username,
             balrog_credentials_file=balrog_credentials_file,
+            mar_channel_ids=updateConfig.get("marChannelIds", []),
         )
 
         builderName = builderPrefix("%s_%s_updates" % (releaseConfig["productName"], channel))
 
         builders.append({
             'name': builderName,
             'slavenames': branchConfig['platforms']['linux']['slaves'],
             'category': builderPrefix(''),