Bug 1541121: [try-staging] Allow staging release to not have partials; r=aki
authorTom Prince <mozilla@hocat.ca>
Wed, 03 Apr 2019 20:33:05 +0000
changeset 525924 8614b52ff81efe42572a09c98983c51b26b52860
parent 525923 87d235b30747f04673dcc32991748bdc940ced93
child 525925 1243a7e81584512b0f4c45e3f73dab203aa88da0
push id2032
push userffxbld-merge
push dateMon, 13 May 2019 09:36:57 +0000
treeherdermozilla-release@455c1065dcbe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
bugs1541121
milestone67.0
Bug 1541121: [try-staging] Allow staging release to not have partials; r=aki We check that partials as a safety check. But we don't need that for staging builds, and it is often useful to be able to test things that don't depend on partials. The shipit UI currently still requires partials, but that can be worked around using the react dev tools. Differential Revision: https://phabricator.services.mozilla.com/D24834
taskcluster/taskgraph/actions/release_promotion.py
--- a/taskcluster/taskgraph/actions/release_promotion.py
+++ b/taskcluster/taskgraph/actions/release_promotion.py
@@ -19,17 +19,17 @@ from taskgraph.util.partners import (
     fix_partner_config,
     get_partner_config_by_url,
     get_partner_url_config,
     get_token
 )
 from taskgraph.taskgraph import TaskGraph
 from taskgraph.decision import taskgraph_decision
 from taskgraph.parameters import Parameters
-from taskgraph.util.attributes import RELEASE_PROMOTION_PROJECTS
+from taskgraph.util.attributes import RELEASE_PROMOTION_PROJECTS, release_level
 
 
 RELEASE_PROMOTION_SIGNOFFS = ('mar-signing', )
 
 
 def is_release_promotion_available(parameters):
     return parameters['project'] in RELEASE_PROMOTION_PROJECTS
 
@@ -248,17 +248,17 @@ def release_promotion_action(parameters,
         if next_version in ['', 'None']:
             raise Exception(
                 "`next_version` property needs to be provided for `{}` "
                 "target.".format(release_promotion_flavor)
             )
 
     if promotion_config.get('partial-updates', False):
         partial_updates = input.get('partial_updates', {})
-        if not partial_updates:
+        if not partial_updates and release_level(parameters['project']) == 'production':
             raise Exception(
                 "`partial_updates` property needs to be provided for `{}`"
                 "target.".format(release_promotion_flavor)
             )
         balrog_prefix = product.title()
         os.environ['PARTIAL_UPDATES'] = json.dumps(partial_updates)
         release_history = populate_release_history(
             balrog_prefix, parameters['project'],