bug 1433488 - all firefox+devedition relpro actions need partial updates. r=bhearsum draft
authorAki Sasaki <asasaki@mozilla.com>
Thu, 22 Feb 2018 15:08:02 +0000
changeset 758491 d16429fc4f7687d0e8b0ff9ade8d90353712a990
parent 758396 ea3da643422c58d65335f1778dd6c89c09911585
child 758503 9c8e11eed5b897a422b890bb99ed137c2d5449f0
push id100071
push userasasaki@mozilla.com
push dateThu, 22 Feb 2018 15:08:43 +0000
reviewersbhearsum
bugs1433488
milestone60.0a1
bug 1433488 - all firefox+devedition relpro actions need partial updates. r=bhearsum MozReview-Commit-ID: 4GnDp46sV1s
taskcluster/taskgraph/actions/release_promotion.py
--- a/taskcluster/taskgraph/actions/release_promotion.py
+++ b/taskcluster/taskgraph/actions/release_promotion.py
@@ -71,23 +71,19 @@ RELEASE_PROMOTION_CONFIG = {
 }
 
 VERSION_BUMP_FLAVORS = (
     'ship_fennec',
     'ship_firefox',
     'ship_devedition',
 )
 
-PARTIAL_UPDATES_FLAVORS = (
-    'promote_firefox',
-    'promote_firefox_rc',
-    'promote_devedition',
-    'ship_firefox',
-    'ship_firefox_rc',
-    'ship_devedition',
+PARTIAL_UPDATES_PRODUCTS = (
+    'devedition',
+    'firefox',
 )
 
 
 def is_release_promotion_available(parameters):
     return parameters['project'] in RELEASE_PROMOTION_PROJECTS
 
 
 @register_callback_action(
@@ -172,18 +168,18 @@ def is_release_promotion_available(param
             #       },
             #       '37.0': {
             #           'buildNumber': 2,
             #           'locales': ['de', 'en-GB', 'ru', 'uk']
             #       }
             #   }
             'partial_updates': {
                 'type': 'object',
-                'description': ('Partial updates. Required in the following flavors: '
-                                '{}'.format(sorted(PARTIAL_UPDATES_FLAVORS))),
+                'description': ('Partial updates. Required in the following products: '
+                                '{}'.format(sorted(PARTIAL_UPDATES_PRODUCTS))),
                 'default': {},
                 'additionalProperties': {
                     'type': 'object',
                     'properties': {
                         'buildNumber': {
                             'type': 'number',
                         },
                         'locales': {
@@ -219,30 +215,29 @@ def release_promotion_action(parameters,
     if release_promotion_flavor in VERSION_BUMP_FLAVORS:
         # We force str() the input, hence the 'None'
         if next_version in ['', 'None']:
             raise Exception(
                 "`next_version` property needs to be provided for %s "
                 "targets." % ', '.join(VERSION_BUMP_FLAVORS)
             )
 
-    if product in ('firefox', 'devedition'):
-        if release_promotion_flavor in PARTIAL_UPDATES_FLAVORS:
-            partial_updates = json.dumps(input.get('partial_updates', {}))
-            if partial_updates == "{}":
-                raise Exception(
-                    "`partial_updates` property needs to be provided for %s "
-                    "targets." % ', '.join(PARTIAL_UPDATES_FLAVORS)
-                )
-            balrog_prefix = product.title()
-            os.environ['PARTIAL_UPDATES'] = partial_updates
-            release_history = populate_release_history(
-                balrog_prefix, parameters['project'],
-                partial_updates=input['partial_updates']
+    if product in PARTIAL_UPDATES_PRODUCTS:
+        partial_updates = json.dumps(input.get('partial_updates', {}))
+        if partial_updates == "{}":
+            raise Exception(
+                "`partial_updates` property needs to be provided for %s "
+                "products." % ', '.join(PARTIAL_UPDATES_PRODUCTS)
             )
+        balrog_prefix = product.title()
+        os.environ['PARTIAL_UPDATES'] = partial_updates
+        release_history = populate_release_history(
+            balrog_prefix, parameters['project'],
+            partial_updates=input['partial_updates']
+        )
 
     promotion_config = RELEASE_PROMOTION_CONFIG[release_promotion_flavor]
 
     target_tasks_method = promotion_config['target_tasks_method'].format(
         project=parameters['project']
     )
     rebuild_kinds = input.get(
         'rebuild_kinds', promotion_config.get('rebuild_kinds', [])