Bug 1260415 - Schedule "partner repacks" builder r=coop a=release DONTBUILD

Allow passing version and build_number via buildbot properties. This will allow
us add buildbot builders without hardcoded parameters depending on release
configs.

MozReview-Commit-ID: 3zGiCJ5z36X

--HG--
extra : rebase_source : 95004a869b40dd72a643c4dbc0b02e96409fb7d8
This commit is contained in:
Rail Aliiev 2016-03-30 10:51:29 -04:00
parent 0a249045c1
commit 5215876965

View File

@ -21,11 +21,6 @@ from mozharness.mozilla.release import ReleaseMixin
from mozharness.base.python import VirtualenvMixin
from mozharness.base.log import FATAL
try:
import simplejson as json
assert json
except ImportError:
import json
# DesktopPartnerRepacks {{{1
class DesktopPartnerRepacks(ReleaseMixin, BuildbotMixin, PurgeMixin,
@ -45,7 +40,7 @@ class DesktopPartnerRepacks(ReleaseMixin, BuildbotMixin, PurgeMixin,
"help": "Version of Firefox to repack",
}],
[["--build-number", "-n"], {
"dest": "buildnumber",
"dest": "build_number",
"help": "Build number of Firefox to repack",
}],
[["--platform"], {
@ -103,18 +98,23 @@ class DesktopPartnerRepacks(ReleaseMixin, BuildbotMixin, PurgeMixin,
**buildscript_kwargs
)
if 'version' not in self.config:
self.fatal("Version (-v) not supplied.")
if 'buildnumber' not in self.config:
self.fatal("Build number (-n) not supplied.")
if 'repo_file' not in self.config:
self.fatal("repo_file not supplied.")
if 'repack_manifests_url' not in self.config:
self.fatal("repack_manifests_url not supplied.")
def _pre_config_lock(self, rw_config):
self.read_buildbot_config()
if not self.buildbot_config:
self.warning("Skipping buildbot properties overrides")
else:
props = self.buildbot_config["properties"]
for prop in ['version', 'build_number']:
if props.get(prop):
self.info("Overriding %s with %s" % (prop, props[prop]))
self.config[prop] = props.get(prop)
if self.config.get('require_buildprops', False) is True:
self.read_buildbot_config()
if not self.buildbot_config:
self.fatal("Unable to load properties from file: %s" % self.config.get('buildbot_json_path'))
buildbot_props = self.buildbot_config.get('properties', {})
@ -123,6 +123,11 @@ class DesktopPartnerRepacks(ReleaseMixin, BuildbotMixin, PurgeMixin,
self.fatal("No partner specified in buildprops.json.")
self.config['partner'] = partner
if 'version' not in self.config:
self.fatal("Version (-v) not supplied.")
if 'build_number' not in self.config:
self.fatal("Build number (-n) not supplied.")
def query_abs_dirs(self):
if self.abs_dirs:
return self.abs_dirs
@ -176,7 +181,7 @@ class DesktopPartnerRepacks(ReleaseMixin, BuildbotMixin, PurgeMixin,
python = self.query_exe("python2.7")
repack_cmd = [python, "partner-repacks.py",
"-v", self.config['version'],
"-n", self.config['buildnumber']]
"-n", self.config['build_number']]
if self.config.get('platform'):
repack_cmd.extend(["--platform", self.config['platform']])
if self.config.get('partner'):