bug 1247212: improve release automation publishing of releases - allow pushes to be scheduled instead of done directly. r=rail, a=release
authorBen Hearsum <bhearsum@mozilla.com>
Mon, 03 Apr 2017 10:24:51 -0400
changeset 395629 e2aa37453df9b28e6b5e3302454900c571888f62
parent 395628 22f422b9ff0a60bd167d9220541190b620cf6e89
child 395630 2e7cfe1e148fd9e3f789e8de5717d15c6b71cc42
push id1468
push userasasaki@mozilla.com
push dateMon, 05 Jun 2017 19:31:07 +0000
treeherdermozilla-release@0641fc6ee9d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrail, release
bugs1247212
milestone54.0a2
bug 1247212: improve release automation publishing of releases - allow pushes to be scheduled instead of done directly. r=rail, a=release
testing/mozharness/scripts/release/publish_balrog.py
--- a/testing/mozharness/scripts/release/publish_balrog.py
+++ b/testing/mozharness/scripts/release/publish_balrog.py
@@ -48,17 +48,17 @@ class PublishBalrog(MercurialScript, Bui
         # taskcluster properties
         self.read_buildbot_config()
         if not self.buildbot_config:
             self.warning("Skipping buildbot properties overrides")
             return
         # TODO: version and appVersion should come from repo
         props = self.buildbot_config["properties"]
         for prop in ['product', 'version', 'build_number', 'channels',
-                     'balrog_api_root']:
+                     'balrog_api_root', 'schedule_at', 'background_rate']:
             if props.get(prop):
                 self.info("Overriding %s with %s" % (prop, props[prop]))
                 self.config[prop] = props.get(prop)
 
     def query_abs_dirs(self):
         if self.abs_dirs:
             return self.abs_dirs
         self.abs_dirs = super(PublishBalrog, self).query_abs_dirs()
@@ -102,14 +102,18 @@ class PublishBalrog(MercurialScript, Bui
             "--username", self.config["balrog_username"],
             "--version", self.config["version"],
             "--product", self.config["product"],
             "--build-number", str(self.config["build_number"]),
             "--verbose",
         ])
         for r in channel_config["publish_rules"]:
             cmd.extend(["--rules", r])
+        if self.config.get("schedule_at"):
+            cmd.extend(["--schedule-at", self.config["schedule_at"]])
+        if self.config.get("background_rate"):
+            cmd.extend(["--background-rate", str(self.config["background_rate"])])
 
         self.retry(lambda: self.run_command(cmd, halt_on_failure=True))
 
 # __main__ {{{1
 if __name__ == '__main__':
     PublishBalrog().run_and_exit()