Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

merge default -> production-0.8

--HG--
branch : production-0.8
  • Loading branch information...
commit 6998c14e41be00f4dff3c30d728f6af9119c6731 2 parents cae0370 + ff3c22c
@escapewindow escapewindow authored
View
19 misc.py
@@ -1172,13 +1172,8 @@ def generateBranchObjects(config, name, secrets=None):
triggeredSchedulers=None
if config['enable_l10n'] and pf.get('is_mobile_l10n') and pf.get('l10n_chunks'):
mobile_l10n_scheduler_name = '%s-%s-l10n' % (name, platform)
- builder_env = platform_env.copy()
- builder_env.update({
- 'BUILDBOT_CONFIGS': '%s%s' % (config['hgurl'],
- config['config_repo_path']),
- 'CLOBBERER_URL': config['base_clobber_url'],
- })
mobile_l10n_builders = []
+ builder_env = platform_env.copy()
for n in range(1, int(pf['l10n_chunks']) + 1):
builddir='%s-%s-l10n_%s' % (name, platform, str(n))
builderName = "%s l10n nightly %s/%s" % \
@@ -1186,12 +1181,12 @@ def generateBranchObjects(config, name, secrets=None):
mobile_l10n_builders.append(builderName)
factory = ScriptFactory(
scriptRepo='%s%s' % (config['hgurl'],
- config['build_tools_repo_path']),
- interpreter='bash',
- scriptName='scripts/l10n/nightly_mobile_repacks.sh',
- extra_args=[platform, stage_platform,
- getRealpath('localconfig.py'),
- str(pf['l10n_chunks']), str(n)]
+ config['mozharness_repo_path']),
+ scriptName='scripts/mobile_l10n.py',
+ extra_args=['--cfg',
+ 'single_locale/%s_%s.py' % (name, platform),
+ '--total-chunks', str(pf['l10n_chunks']),
+ '--this-chunk', str(n)]
)
slavebuilddir = reallyShort(builddir)
branchObjects['builders'].append({
View
60 process/factory.py
@@ -4830,15 +4830,15 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
appName, productName,
version, appVersion, baseTag, buildNumber,
oldVersion, oldAppVersion, oldBaseTag, oldBuildNumber,
- ftpServer, bouncerServer, stagingServer, useBetaChannel,
+ ftpServer, bouncerServer, stagingServer,
stageUsername, stageSshKey, ausUser, ausSshKey, ausHost,
- ausServerUrl, hgSshKey, hgUsername, commitPatcherConfig=True,
- mozRepoPath=None, oldRepoPath=None, brandName=None,
- buildSpace=22, triggerSchedulers=None, releaseNotesUrl=None,
- binaryName=None, oldBinaryName=None, testOlderPartials=False,
- fakeMacInfoTxt=False, longVersion=None, oldLongVersion=None,
- schema=None, useBetaChannelForRelease=False,
- useChecksums=False, **kwargs):
+ ausServerUrl, hgSshKey, hgUsername, releaseChannel='release',
+ commitPatcherConfig=True, mozRepoPath=None, oldRepoPath=None,
+ brandName=None, buildSpace=22, triggerSchedulers=None,
+ releaseNotesUrl=None, binaryName=None, oldBinaryName=None,
+ testOlderPartials=False, fakeMacInfoTxt=False,
+ longVersion=None, oldLongVersion=None, schema=None,
+ useBetaChannelForRelease=False, useChecksums=False, **kwargs):
"""cvsroot: The CVSROOT to use when pulling patcher, patcher-configs,
Bootstrap/Util.pm, and MozBuild. It is also used when
commiting the version-bumped patcher config so it must have
@@ -4885,7 +4885,6 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
self.ftpServer = ftpServer
self.bouncerServer = bouncerServer
self.stagingServer = stagingServer
- self.useBetaChannel = useBetaChannel
self.stageUsername = stageUsername
self.stageSshKey = stageSshKey
self.ausUser = ausUser
@@ -4894,6 +4893,7 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
self.ausServerUrl = ausServerUrl
self.hgSshKey = hgSshKey
self.hgUsername = hgUsername
+ self.releaseChannel = releaseChannel
self.commitPatcherConfig = commitPatcherConfig
self.oldRepoPath = oldRepoPath or kwargs['repoPath']
self.oldRepository = self.getRepository(self.oldRepoPath)
@@ -4947,11 +4947,10 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
def setChannelData(self):
# This method figures out all the information needed to push snippets
# to AUS, push test snippets live, and do basic verifications on them.
- # Test snippets always end up in the same local and remote directories
- # All of the beta and (if applicable) release channel information
- # is dependent on the useBetaChannel flag. When false, there is no
- # release channel, and the beta channel is comprable to 'releasetest'
- # rather than 'betatest'
+ # Test snippets and whatever channel self.relesaeChannel is always end
+ # up in the same local and remote directories.
+ # When useBetaChannelForRelease is True, we have a 'beta' channel
+ # in addition to whatever the releaseChannel.
baseSnippetDir = self.getSnippetDir()
self.dirMap = {
'aus2.test': '%s-test' % baseSnippetDir,
@@ -4961,19 +4960,22 @@ def setChannelData(self):
self.channels = {
'betatest': { 'dir': 'aus2.test' },
'releasetest': { 'dir': 'aus2.test' },
- 'beta': {}
- }
- if self.useBetaChannel:
- if self.useBetaChannelForRelease:
- self.dirMap['aus2.beta'] = '%s-beta' % baseSnippetDir
- self.channels['beta']['dir'] = 'aus2.beta'
- self.channels['release'] = {
+ self.releaseChannel: {
'dir': 'aus2',
'compareTo': 'releasetest',
}
+ }
+
+ if self.useBetaChannelForRelease:
+ self.dirMap['aus2.beta'] = '%s-beta' % baseSnippetDir
+ self.channels['beta'] = {'dir': 'aus2.beta'}
+
+ # XXX: hack alert
+ if 'esr' in self.version:
+ self.testChannel = 'esrtest'
+ self.channels['esrtest'] = { 'dir': 'aus2.test' }
else:
- self.channels['beta']['dir'] = 'aus2'
- self.channels['beta']['compareTo'] = 'releasetest'
+ self.testChannel = 'betatest'
def setup(self):
# General setup
@@ -5037,7 +5039,7 @@ def bumpPatcherConfig(self):
bumpCommand.extend(['--marname', self.binaryName.lower()])
if self.oldBinaryName:
bumpCommand.extend(['--oldmarname', self.oldBinaryName.lower()])
- if self.useBetaChannel:
+ if self.useBetaChannelForRelease:
bumpCommand.append('-u')
if self.releaseNotesUrl:
bumpCommand.extend(['-n', self.releaseNotesUrl])
@@ -5197,7 +5199,7 @@ def createBuildNSnippets(self):
'--build-number', self.buildNumber,
'--old-build-number', self.oldBuildNumber,
'--channel', 'betatest', '--channel', 'releasetest',
- '--channel', 'beta',
+ '--channel', self.releaseChannel,
'--stage-server', self.stagingServer,
'--old-base-snippet-dir', '.',
'--workdir', '.',
@@ -5206,8 +5208,8 @@ def createBuildNSnippets(self):
'--verbose']
for p in (self.verifyConfigs.keys()):
command.extend(['--platform', p])
- if self.useBetaChannel:
- command.extend(['--channel', 'release'])
+ if self.useBetaChannelForRelease:
+ command.extend(['--channel', 'beta'])
if self.testOlderPartials:
command.extend(['--generate-partials'])
self.addStep(ShellCommand(
@@ -5322,7 +5324,7 @@ def getUpdateVerifyBumpCommand(self, platform):
'-s', self.stagingServer, '-c', verifyConfigPath,
'-d', oldCandidatesDir, '-l', 'shipped-locales',
'--old-shipped-locales', 'old-shipped-locales',
- '--pretty-candidates-dir']
+ '--pretty-candidates-dir', '--channel', self.testChannel]
if self.binaryName:
bcmd.extend(['--binary-name', self.binaryName])
if self.oldBinaryName:
@@ -5372,7 +5374,7 @@ def bumpPatcherConfig(self):
'--update-type=major']
for platform in sorted(self.verifyConfigs.keys()):
bumpCommand.extend(['--platform', platform])
- if self.useBetaChannel:
+ if self.useBetaChannelForRelease:
bumpCommand.append('-u')
if self.releaseNotesUrl:
bumpCommand.extend(['-n', self.releaseNotesUrl])
View
24 process/release.py
@@ -69,6 +69,9 @@ def generateReleaseBranchObjects(releaseConfig, branchConfig,
tools_repo = '%s%s' % (branchConfig['hgurl'], tools_repo_path)
config_repo = '%s%s' % (branchConfig['hgurl'],
branchConfig['config_repo_path'])
+ mozharness_repo_path = releaseConfig.get('mozharness_repo_path',
+ branchConfig['mozharness_repo_path'])
+ mozharness_repo = '%s%s' % (branchConfig['hgurl'], mozharness_repo_path)
branchConfigFile = getRealpath('localconfig.py')
unix_slaves = []
@@ -589,7 +592,7 @@ def majorUpdateVerifyBuilders(platform):
pf.get('multi_locale', False)),
multiLocaleMerge=releaseConfig.get('mergeLocales', False),
compareLocalesRepoPath=branchConfig['compare_locales_repo_path'],
- mozharnessRepoPath=branchConfig['mozharness_repo_path'],
+ mozharnessRepoPath=mozharness_repo_path,
mozharnessTag=releaseTag,
multiLocaleScript=pf.get('multi_locale_script'),
multiLocaleConfig=multiLocaleConfig,
@@ -657,11 +660,12 @@ def majorUpdateVerifyBuilders(platform):
for n, builderName in l10nBuilders(platform).iteritems():
if releaseConfig['productName'] == 'fennec':
repack_factory = ScriptFactory(
- scriptRepo=tools_repo,
- interpreter='bash',
- scriptName='scripts/l10n/release_mobile_repacks.sh',
- extra_args=[platform, branchConfigFile,
- str(l10nChunks), str(n)]
+ scriptRepo=mozharness_repo,
+ scriptName='scripts/mobile_l10n.py',
+ extra_args=['--cfg',
+ 'single_locale/release_%s_%s.py' % (releaseConfig['sourceRepositories']['mobile']['name'], platform),
+ '--total-chunks', str(l10nChunks),
+ '--this-chunk', str(n)]
)
else:
extra_args = [platform, branchConfigFile, str(l10nChunks),
@@ -910,6 +914,7 @@ def majorUpdateVerifyBuilders(platform):
if releaseConfig.get('verifyConfigs') and \
not releaseConfig.get('skip_updates'):
+ releaseChannel = releaseConfig.get('releaseChannel', branchConfig['update_channel'])
updates_factory = ReleaseUpdatesFactory(
hgHost=branchConfig['hghost'],
repoPath=sourceRepoInfo['path'],
@@ -931,15 +936,15 @@ def majorUpdateVerifyBuilders(platform):
ftpServer=releaseConfig['ftpServer'],
bouncerServer=releaseConfig['bouncerServer'],
stagingServer=releaseConfig['stagingServer'],
- useBetaChannel=releaseConfig['useBetaChannel'],
stageUsername=branchConfig['stage_username'],
stageSshKey=branchConfig['stage_ssh_key'],
ausUser=releaseConfig['ausUser'],
ausSshKey=releaseConfig['ausSshKey'],
- ausHost=branchConfig['aus2_host'],
+ ausHost=releaseConfig['ausHost'],
ausServerUrl=releaseConfig['ausServerUrl'],
hgSshKey=releaseConfig['hgSshKey'],
hgUsername=releaseConfig['hgUsername'],
+ releaseChannel=releaseChannel,
# We disable this on staging, because we don't have a CVS mirror to
# commit to
commitPatcherConfig=releaseConfig['commitPatcherConfig'],
@@ -1170,12 +1175,11 @@ def majorUpdateVerifyBuilders(platform):
ftpServer=releaseConfig['ftpServer'],
bouncerServer=releaseConfig['bouncerServer'],
stagingServer=releaseConfig['stagingServer'],
- useBetaChannel=releaseConfig['useBetaChannel'],
stageUsername=branchConfig['stage_username'],
stageSshKey=branchConfig['stage_ssh_key'],
ausUser=releaseConfig['ausUser'],
ausSshKey=releaseConfig['ausSshKey'],
- ausHost=branchConfig['aus2_host'],
+ ausHost=releaseConfig['ausHost'],
ausServerUrl=releaseConfig['ausServerUrl'],
hgSshKey=releaseConfig['hgSshKey'],
hgUsername=releaseConfig['hgUsername'],
View
76 test/test_process_factory.py
@@ -0,0 +1,76 @@
+import unittest
+
+from buildbotcustom.process.factory import ReleaseUpdatesFactory
+
+class SimpleUpdatesFactory(ReleaseUpdatesFactory):
+ def __init__(self, version, releaseChannel, useBetaChannelForRelease):
+ self.version = version
+ self.releaseChannel = releaseChannel
+ self.useBetaChannelForRelease = useBetaChannelForRelease
+ self.setChannelData()
+ def getSnippetDir(self):
+ return 'foo'
+
+class TestReleaseUpdatesFactory(unittest.TestCase):
+ def testSetChannelDataWithBetaAndReleaseChannel(self):
+ expectedChannels = {
+ 'betatest': {'dir': 'aus2.test'},
+ 'releasetest': {'dir': 'aus2.test'},
+ 'beta': {'dir': 'aus2.beta'},
+ 'release': {'dir': 'aus2', 'compareTo': 'releasetest'},
+ }
+ expectedDirMap = {
+ 'aus2.test': 'foo-test',
+ 'aus2.beta': 'foo-beta',
+ 'aus2': 'foo',
+ }
+ uf = SimpleUpdatesFactory('3.6.26', 'release', True)
+ self.assertEqual(uf.channels, expectedChannels)
+ self.assertEqual(uf.dirMap, expectedDirMap)
+ self.assertEqual(uf.testChannel, 'betatest')
+
+ def testSetChannelDataWithBetaChannelOnly(self):
+ expectedChannels = {
+ 'betatest': {'dir': 'aus2.test'},
+ 'releasetest': {'dir': 'aus2.test'},
+ 'beta': {'dir': 'aus2', 'compareTo': 'releasetest'},
+ }
+ expectedDirMap = {
+ 'aus2.test': 'foo-test',
+ 'aus2': 'foo',
+ }
+ uf = SimpleUpdatesFactory('10.0b6', 'beta', False)
+ self.assertEqual(uf.channels, expectedChannels)
+ self.assertEqual(uf.dirMap, expectedDirMap)
+ self.assertEqual(uf.testChannel, 'betatest')
+
+ def testSetChannelDataWithReleaseChannelOnly(self):
+ expectedChannels = {
+ 'betatest': {'dir': 'aus2.test'},
+ 'releasetest': {'dir': 'aus2.test'},
+ 'release': {'dir': 'aus2', 'compareTo': 'releasetest'},
+ }
+ expectedDirMap = {
+ 'aus2.test': 'foo-test',
+ 'aus2': 'foo',
+ }
+ uf = SimpleUpdatesFactory('9.0.1', 'release', False)
+ self.assertEqual(uf.channels, expectedChannels)
+ self.assertEqual(uf.dirMap, expectedDirMap)
+ self.assertEqual(uf.testChannel, 'betatest')
+
+ def testSetChannelDataWithEsrChannelOnly(self):
+ expectedChannels = {
+ 'betatest': {'dir': 'aus2.test'},
+ 'releasetest': {'dir': 'aus2.test'},
+ 'esrtest': {'dir': 'aus2.test'},
+ 'esr': {'dir': 'aus2', 'compareTo': 'releasetest'},
+ }
+ expectedDirMap = {
+ 'aus2.test': 'foo-test',
+ 'aus2': 'foo',
+ }
+ uf = SimpleUpdatesFactory('10.0esr', 'esr', False)
+ self.assertEqual(uf.channels, expectedChannels)
+ self.assertEqual(uf.dirMap, expectedDirMap)
+ self.assertEqual(uf.testChannel, 'esrtest')
Please sign in to comment.
Something went wrong with that request. Please try again.