Bug 1538995 - support repacking stub installers for partners, r=aki
authorNick Thomas <nthomas@mozilla.com>
Thu, 20 Jun 2019 22:17:45 +0000
changeset 537288 cdcd92299b6439b792d3e6644b1b6a5d93ac2607
parent 537287 7a1e69006831e3708f54e7c9b6f96a02a07e85f7
child 537289 8000d797a95c551bad9b4fa333df186c9fc8e212
push id2128
push usernthomas@mozilla.com
push dateWed, 14 Aug 2019 02:49:25 +0000
treeherdermozilla-release@2254823049a2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
bugs1538995
milestone68.0.2
Bug 1538995 - support repacking stub installers for partners, r=aki Pay attention to the new repack_stub_installer param, and fix config parsing to split on the first =. Differential Revision: https://phabricator.services.mozilla.com/D34945
taskcluster/taskgraph/transforms/partner_repack.py
taskcluster/taskgraph/util/partners.py
--- a/taskcluster/taskgraph/transforms/partner_repack.py
+++ b/taskcluster/taskgraph/transforms/partner_repack.py
@@ -89,14 +89,17 @@ def add_command_arguments(config, tasks)
 
         # The upstream taskIds are stored a special environment variable, because we want to use
         # task-reference's to resolve dependencies, but the string handling of MOZHARNESS_OPTIONS
         # blocks that. It's space-separated string of ids in the end.
         task['worker']['env']['UPSTREAM_TASKIDS'] = {
             'task-reference': ' '.join(['<{}>'.format(dep) for dep in task['dependencies']])
         }
 
+        # Forward the release type for bouncer product construction
+        task['worker']['env']['RELEASE_TYPE'] = config.params['release_type']
+
         yield task
 
 
 # This needs to be run at the *end*, because the generators are called in
 # reverse order, when each downstream transform references `tasks`.
 transforms.add(check_if_partners_enabled)
--- a/taskcluster/taskgraph/util/partners.py
+++ b/taskcluster/taskgraph/util/partners.py
@@ -229,22 +229,22 @@ def get_partners(manifestRepo, token):
     return partners
 
 
 def parse_config(data):
     """ Parse a single repack.cfg file into a python dictionary.
     data is contents of the file, in "foo=bar\nbaz=buzz" style. We do some translation on
     locales and platforms data, otherwise passthrough
     """
-    ALLOWED_KEYS = ('locales', 'upload_to_candidates', 'platforms')
+    ALLOWED_KEYS = ('locales', 'upload_to_candidates', 'repack_stub_installer', 'platforms')
     config = {'platforms': []}
     for l in data.splitlines():
         if '=' in l:
             l = str(l)
-            key, value = l.split('=', 2)
+            key, value = l.split('=', 1)
             value = value.strip('\'"').rstrip('\'"')
             if key in TC_PLATFORM_PER_FTP.keys():
                 if value.lower() == 'true':
                     config['platforms'].append(TC_PLATFORM_PER_FTP[key])
                 continue
             if key not in ALLOWED_KEYS:
                 continue
             if key == 'locales':