Bug 1330668 - Add routes used to trigger funsize. r=dustin draft
authorJustin Wood <Callek@gmail.com>
Thu, 12 Jan 2017 15:25:43 -0500
changeset 462557 3e02f55b2b211139351a2045fb16dcde78df5238
parent 462402 3e275d37a06236981bff399b7d7aa0646be3fee7
child 462558 c23b9311f0b897884aac7aafa9a84463655957c5
push id41806
push userCallek@gmail.com
push dateTue, 17 Jan 2017 19:17:18 +0000
reviewersdustin
bugs1330668, 1319824
milestone53.0a1
Bug 1330668 - Add routes used to trigger funsize. r=dustin Involved work which landed on the date project branch with: * Bug 1319824, by sfraser@mozilla.com (https://hg.mozilla.org/projects/date/rev/a331041b33da) MozReview-Commit-ID: 3Ep4ZzSmNCX
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
@@ -46,9 +46,13 @@ def make_signing_description(config, job
                 "formats": [fmt]
             })
 
         job['upstream-artifacts'] = upstream_artifacts
 
         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
--- a/taskcluster/taskgraph/transforms/nightly_l10n_signing.py
+++ b/taskcluster/taskgraph/transforms/nightly_l10n_signing.py
@@ -61,9 +61,14 @@ 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,16 +54,20 @@ signing_description_schema = Schema({
 
     # unique label to describe this signing task, defaults to {dep.label}-signing
     Optional('label'): basestring,
 
     # 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'],
+
+    # 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(
@@ -113,9 +117,13 @@ def make_task_description(config, jobs):
                        'max-run-time': 3600},
             'scopes': ["project:releng:signing:cert:nightly-signing"] + signing_format_scopes,
             'dependencies': {job['depname']: dep_job.label},
             'attributes': attributes,
             'run-on-projects': dep_job.attributes.get('run_on_projects'),
             'treeherder': treeherder,
         }
 
+        if job.get('use-funsize-route', False):
+            task['routes'] = ["index.project.releng.funsize.level-{level}.{project}".format(
+                project=config.params['project'], level=config.params['level'])]
+
         yield task