Bug 1600952 - Do not run the diff-reproducible-linux32 task on beta/release as intended in bug 1577212. r=tomprince a=jcristau
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 04 Dec 2019 05:29:45 +0000
changeset 566685 b69378d81dcfc12911bdb4a1e6b23f0c1c5a2af2
parent 566684 afdb2a315dca7cfa07f75b5b6767c35feb7490d5
child 566686 10c862b0e5308cfa8ab767ab5ded046d2f037b36
push id12373
push userccoroiu@mozilla.com
push dateWed, 04 Dec 2019 10:47:12 +0000
treeherdermozilla-beta@b69378d81dcf [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstomprince, jcristau
bugs1600952, 1577212
milestone72.0
Bug 1600952 - Do not run the diff-reproducible-linux32 task on beta/release as intended in bug 1577212. r=tomprince a=jcristau Differential Revision: https://phabricator.services.mozilla.com/D55766
taskcluster/ci/diffoscope/kind.yml
taskcluster/taskgraph/transforms/diffoscope.py
--- a/taskcluster/ci/diffoscope/kind.yml
+++ b/taskcluster/ci/diffoscope/kind.yml
@@ -62,16 +62,17 @@ jobs:
             --exclude b/firefox/chrome/toolkit/content/global/buildconfig.html
             --exclude b/firefox/uninstall/helper.exe
 
     reproducible-linux32:
         symbol: Linux32
         new: build-linux-reproduced/opt
         original: build-linux-shippable/opt
         fail-on-diff: true
+        run-on-projects: ['mozilla-central', 'try']
 
 
 # Make a task for each diff we might want. The following are just examples,
 # Both original and new can point to builds from the full set of tasks or
 # from other sets through an index-search. Other kinds than `build` can be
 # compared (for example, static-analysis), provided you adjust the
 # kind-dependencies above.
 #     android-build-vs-previous-try:
--- a/taskcluster/taskgraph/transforms/diffoscope.py
+++ b/taskcluster/taskgraph/transforms/diffoscope.py
@@ -4,16 +4,17 @@
 """
 This transform construct tasks to perform diffs between builds, as
 defined in kind.yml
 """
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 from taskgraph.transforms.base import TransformSequence
+from taskgraph.transforms.task import task_description_schema
 from taskgraph.util.schema import (
     Schema,
 )
 from taskgraph.util.taskcluster import get_artifact_path
 from voluptuous import (
     Any,
     Optional,
     Required,
@@ -50,16 +51,19 @@ diff_description_schema = Schema({
 
     # Whether to unpack first. Diffoscope can normally work without unpacking,
     # but when one needs to --exclude some contents, that doesn't work out well
     # if said content is packed (e.g. in omni.ja).
     Optional('unpack'): bool,
 
     # Commands to run before performing the diff.
     Optional('pre-diff-commands'): [basestring],
+
+    # Only run the task on a set of projects/branches.
+    Optional('run-on-projects'): task_description_schema['run-on-projects'],
 })
 
 transforms = TransformSequence()
 transforms.add_validate(diff_description_schema)
 
 
 @transforms.add
 def fill_template(config, tasks):
@@ -150,16 +154,18 @@ def fill_template(config, tasks):
                 'checkout': task.get('unpack', False),
                 'command': '/builds/worker/bin/get_and_diffoscope{}{}'.format(
                     ' --unpack' if task.get('unpack') else '',
                     ' --fail' if task.get('fail-on-diff') else '',
                 ),
             },
             'dependencies': deps,
         }
+        if 'run-on-projects' in task:
+            taskdesc['run-on-projects'] = task['run-on-projects']
 
         if artifact.endswith('.dmg'):
             taskdesc.setdefault('fetches', {}).setdefault('toolchain', []).extend([
                 'linux64-cctools-port',
                 'linux64-libdmg',
             ])
 
         yield taskdesc