Bug 1381577 - Stop using the property 'use-funsize-routes' since we can determine if we want those routes in better ways. r=kmoir draft
authorJustin Wood <Callek@gmail.com>
Tue, 18 Jul 2017 10:16:40 -0400
changeset 611725 70c163f649850b4cafc24fd73c06b142a2131837
parent 611724 870b3029304e5c1f34ccc49fbd3113c984c13e6d
child 611726 c08ead65a8804d4f6a741daf923c279721c0f00e
push id69287
push userCallek@gmail.com
push dateThu, 20 Jul 2017 01:11:37 +0000
reviewerskmoir
bugs1381577
milestone56.0a1
Bug 1381577 - Stop using the property 'use-funsize-routes' since we can determine if we want those routes in better ways. r=kmoir Land date changes to support windows nightlies onto central This change has the side affect of removing accidentally present funsize routes on android and on windows-on-change-signing. MozReview-Commit-ID: GJucXu1n63i
taskcluster/taskgraph/transforms/build_signing.py
taskcluster/taskgraph/transforms/nightly_l10n_signing.py
taskcluster/taskgraph/transforms/signing.py
--- a/taskcluster/taskgraph/transforms/build_signing.py
+++ b/taskcluster/taskgraph/transforms/build_signing.py
@@ -37,24 +37,19 @@ def add_signed_routes(config, jobs):
 def make_signing_description(config, jobs):
     for job in jobs:
         dep_job = job['dependent-task']
 
         job['upstream-artifacts'] = _generate_upstream_artifacts(
             dep_job.attributes.get('build_platform'),
             dep_job.attributes.get('nightly')
         )
-
         label = dep_job.label.replace("build-", "signing-")
         job['label'] = label
 
-        # Announce job status on funsize specific routes, so that it can
-        # start the partial generation for nightlies only.
-        job['use-funsize-route'] = True
-
         yield job
 
 
 def _generate_upstream_artifacts(build_platform, is_nightly=False):
     if 'android' in build_platform:
         artifacts_specificities = [{
             'artifacts': [
                 'public/build/target.apk',
@@ -64,28 +59,43 @@ def _generate_upstream_artifacts(build_p
         }]
     # XXX: Mac and Windows don't sign mars because internal aren't signed at
     # this stage of the release
     elif 'macosx' in build_platform:
         artifacts_specificities = [{
             'artifacts': ['public/build/target.dmg'],
             'format': 'macapp',
         }]
-    elif 'win' in build_platform:
+    elif 'win64' in build_platform:
         artifacts_specificities = [{
-            'artifacts': ['public/build/target.zip'],
+            'artifacts': [
+                'public/build/target.zip',
+                'public/build/setup.exe'
+            ],
             'format': 'sha2signcode',
         }]
-    else:
+    elif 'win32' in build_platform:
+        artifacts_specificities = [{
+            'artifacts': [
+                'public/build/target.zip',
+                'public/build/setup.exe',
+                ],
+            'format': 'sha2signcode',
+        }]
+        if is_nightly:
+            artifacts_specificities[0]['artifacts'] += ['public/build/setup-stub.exe']
+    elif 'linux' in build_platform:
         artifacts_specificities = [{
             'artifacts': ['public/build/target.tar.bz2'],
             'format': 'gpg',
         }, {
             'artifacts': ['public/build/update/target.complete.mar'],
             'format': 'mar',
         }]
+    else:
+        raise Exception("Platform not implemented for signing")
 
     return [{
         'taskId': {'task-reference': '<build>'},
         'taskType': 'build',
         'paths': specificity['artifacts'],
         'formats': [specificity['format']],
     } for specificity in artifacts_specificities]
--- a/taskcluster/taskgraph/transforms/nightly_l10n_signing.py
+++ b/taskcluster/taskgraph/transforms/nightly_l10n_signing.py
@@ -71,13 +71,9 @@ def make_signing_description(config, job
         # add the chunk number to the TH symbol
         symbol = 'Ns{}'.format(dep_job.attributes.get('l10n_chunk'))
         group = 'tc-L10n'
 
         job['treeherder'] = {
             'symbol': join_symbol(group, symbol),
         }
 
-        # Announce job status on funsize specific routes, so that it can
-        # start the partial generation for nightlies only.
-        job['use-funsize-route'] = True
-
         yield job
--- a/taskcluster/taskgraph/transforms/signing.py
+++ b/taskcluster/taskgraph/transforms/signing.py
@@ -54,20 +54,16 @@ signing_description_schema = Schema({
 
     # treeherder is allowed here to override any defaults we use for signing.  See
     # taskcluster/taskgraph/transforms/task.py for the schema details, and the
     # below transforms for defaults of various values.
     Optional('treeherder'): task_description_schema['treeherder'],
 
     # Routes specific to this task, if defined
     Optional('routes'): [basestring],
-
-    # If True, adds a route which funsize uses to schedule generation of partial mar
-    # files for updates. Expected to be added on nightly builds only.
-    Optional('use-funsize-route'): bool,
 })
 
 
 @transforms.add
 def validate(config, jobs):
     for job in jobs:
         label = job.get('dependent-task', object).__dict__.get('label', '?no-label?')
         yield validate_schema(
@@ -136,18 +132,18 @@ def make_task_description(config, jobs):
             'scopes': [signing_cert_scope] + signing_format_scopes,
             'dependencies': {job['depname']: dep_job.label},
             'attributes': attributes,
             'run-on-projects': dep_job.attributes.get('run_on_projects'),
             'treeherder': treeherder,
             'routes': job.get('routes', []),
         }
 
-        if 'macosx' not in dep_job.attributes.get('build_platform') and \
-                job.get('use-funsize-route', False):
+        if 'linux' in dep_job.attributes.get('build_platform') and \
+                dep_job.attributes.get('nightly'):
             task['routes'].append("project.releng.funsize.level-{level}.{project}".format(
                 project=config.params['project'], level=config.params['level']))
 
         yield task
 
 
 def _generate_treeherder_platform(dep_th_platform, build_platform, build_type):
     actual_build_type = 'pgo' if '-pgo' in build_platform else build_type