Bug 1330668 - Add routes used to trigger funsize. r=dustin
authorJustin Wood <Callek@gmail.com>
Thu, 12 Jan 2017 15:25:43 -0500
changeset 329692 d84bef0d3b096a523c979d24fccf25392c9fb231
parent 329691 a78433dca4bbdba58b232cea94251381b79a7549
child 329693 023c679970910012d191a131218414220ed19121
push id31221
push userkwierso@gmail.com
push dateWed, 18 Jan 2017 01:36:12 +0000
treeherdermozilla-central@80eac484366a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1330668, 1319824
milestone53.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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