Bug 1428915 - Remove job name whitelist. r=mshal
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 09 Jan 2018 08:27:32 +0900
changeset 450223 ab39d818d7b73dea685bdf71e1c0fb4f5a47b710
parent 450222 a677efcd8768ff23c2b65aaeb9c680a10d3afeb8
child 450224 7e82384aac78784dc59277a87e5d919bfc06d67a
push id8527
push userCallek@gmail.com
push dateThu, 11 Jan 2018 21:05:50 +0000
treeherdermozilla-beta@95342d212a7a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1428915
milestone59.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 1428915 - Remove job name whitelist. r=mshal This was useful when we still had buildbot-based build jobs, but all it achieves nowadays is add friction when adding new build jobs on taskcluster.
taskcluster/ci/config.yml
taskcluster/taskgraph/config.py
taskcluster/taskgraph/transforms/task.py
--- a/taskcluster/ci/config.yml
+++ b/taskcluster/ci/config.yml
@@ -60,151 +60,16 @@ treeherder:
 index:
     products:
         - 'firefox'
         - 'fennec'
         - 'mobile'
         - 'static-analysis'
         - 'devedition'
         - 'source'
-    job-names:
-        # This list contains a whitelist of gecko.v2 index route job names.  The intent
-        # of this whitelist is to raise an alarm when new jobs are added.  If those jobs
-        # already run in Buildbot, then it's important that the generated index routes
-        # match (and that only one of Buildbot and TaskCluster be tier-1 at any time).
-        # If the jobs are new and never ran in Buildbot, then their job name can be added
-        # here without any further fuss.
-        #
-        # Once all jobs have been ported from Buildbot, this list can be removed.
-        - 'android-aarch64-opt'
-        - 'android-api-16-debug'
-        - 'android-api-16-gradle-opt'
-        - 'android-api-16-old-id-opt'
-        - 'android-api-16-opt'
-        - 'android-checkstyle'
-        - 'android-dependencies'
-        - 'android-findbugs'
-        - 'android-lint'
-        - 'android-test'
-        - 'android-x86-old-id-opt'
-        - 'android-x86-opt'
-        - 'browser-haz-debug'
-        - 'linux-debug'
-        - 'linux-devedition'
-        - 'linux-devedition-opt'
-        - 'linux-devedition-nightly-repackage'
-        - 'linux-devedition-nightly-repackage-signing'
-        - 'linux-nightly-repackage'
-        - 'linux-nightly-repackage-signing'
-        - 'linux-opt'
-        - 'linux-pgo'
-        - 'linux-rusttests-opt'
-        - 'linux-rusttests-debug'
-        - 'linux64-add-on-devel'
-        - 'linux64-artifact-opt'
-        - 'linux64-asan-debug'
-        - 'linux64-asan-opt'
-        - 'linux64-asan-reporter-opt'
-        - 'linux64-base-toolchains-debug'
-        - 'linux64-base-toolchains-opt'
-        - 'linux64-fuzzing-asan-opt'
-        - 'linux64-fuzzing-debug'
-        - 'linux64-ccov-opt'
-        - 'linux64-clang-tidy'
-        - 'linux64-debug'
-        - 'linux64-devedition'
-        - 'linux64-devedition-opt'
-        - 'linux64-devedition-nightly-repackage'
-        - 'linux64-devedition-nightly-repackage-signing'
-        - 'linux64-jsdcov-opt'
-        - 'linux64-nightly-repackage'
-        - 'linux64-nightly-repackage-signing'
-        - 'linux64-noopt-debug'
-        - 'linux64-opt'
-        - 'linux64-pgo'
-        - 'linux64-rusttests-opt'
-        - 'linux64-rusttests-debug'
-        - 'linux64-searchfox-debug'
-        - 'linux64-st-an-debug'
-        - 'linux64-st-an-opt'
-        - 'linux64-valgrind-opt'
-        - 'linux64-dmd-opt'
-        - 'linux64-source-opt'
-        - 'linux64-devedition-source-opt'
-        - 'linux64-fennec-source-opt'
-        - 'macosx64-add-on-devel'
-        - 'macosx64-clang-tidy'
-        - 'macosx64-debug'
-        - 'macosx64-devedition-opt'
-        - 'macosx64-nightly-repackage'
-        - 'macosx64-nightly-repackage-signing'
-        - 'macosx64-noopt-debug'
-        - 'macosx64-opt'
-        - 'macosx64-devedition-nightly-repackage'
-        - 'macosx64-devedition-nightly-repackage-signing'
-        - 'macosx64-st-an-debug'
-        - 'macosx64-st-an-opt'
-        - 'macosx64-searchfox-debug'
-        - 'macosx64-dmd-opt'
-        - 'shell-haz-debug'
-        - 'sm-arm-sim-linux32-debug'
-        - 'sm-arm64-sim-linux64-debug'
-        - 'sm-asan-linux64-opt'
-        - 'sm-compacting-linux64-debug'
-        - 'sm-compacting-win32-debug'
-        - 'sm-fuzzing-linux64'
-        - 'sm-mozjs-sys-linux64-debug'
-        - 'sm-msan-linux64-opt'
-        - 'sm-nojit-linux64-opt'
-        - 'sm-nonunified-linux64-debug'
-        - 'sm-package-linux64-opt'
-        - 'sm-plain-linux64-opt'
-        - 'sm-plain-win32-opt'
-        - 'sm-plain-linux64-debug'
-        - 'sm-plain-win32-debug'
-        - 'sm-rootanalysis-linux64-debug'
-        - 'sm-rust-bindings-linux64-debug'
-        - 'sm-tsan-linux64-opt'
-        - 'source-bugzilla-info'
-        - 'win32-add-on-devel'
-        - 'win32-clang-tidy'
-        - 'win32-debug'
-        - 'win32-devedition-nightly-repackage'
-        - 'win32-devedition-nightly-repackage-signing'
-        - 'win32-devedition-opt'
-        - 'win32-nightly-repackage'
-        - 'win32-nightly-repackage-signing'
-        - 'win32-noopt-debug'
-        - 'win32-opt'
-        - 'win32-pgo'
-        - 'win32-rusttests-opt'
-        - 'win32-searchfox-debug'
-        - 'win32-st-an-debug'
-        - 'win32-st-an-opt'
-        - 'win32-dmd-opt'
-        - 'win64-ccov-debug'
-        - 'win64-add-on-devel'
-        - 'win64-clang-tidy'
-        - 'win64-debug'
-        - 'win64-devedition-opt'
-        - 'win64-devedition-nightly-repackage'
-        - 'win64-devedition-nightly-repackage-signing'
-        - 'win64-nightly-repackage'
-        - 'win64-nightly-repackage-signing'
-        - 'win64-noopt-debug'
-        - 'win64-opt'
-        - 'win64-pgo'
-        - 'win64-rusttests-opt'
-        - 'win64-st-an-debug'
-        - 'win64-st-an-opt'
-        - 'win64-asan-debug'
-        - 'win64-asan-opt'
-        - 'win64-dmd-opt'
-        - 'win32-mingw32-debug'
-
 
 try:
     # We have a few platforms for which we want to do some "extra" builds, or at
     # least build-ish things.  Sort of.  Anyway, these other things are implemented
     # as different "platforms".  These do *not* automatically ride along with "-p
     # all"
     ridealong-builds:
         'android-api-16':
--- a/taskcluster/taskgraph/config.py
+++ b/taskcluster/taskgraph/config.py
@@ -1,30 +1,28 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 from .util.schema import validate_schema, Schema
-from voluptuous import Required, Optional
+from voluptuous import Required
 
 graph_config_schema = Schema({
     # The trust-domain for this graph.
     # (See https://firefox-source-docs.mozilla.org/taskcluster/taskcluster/taskgraph.html#taskgraph-trust-domain)  # noqa
     Required('trust-domain'): basestring,
     Required('treeherder'): {
         # Mapping of treeherder group symbols to descriptive names
         Required('group-names'): {basestring: basestring}
     },
     Required('index'): {
 
         Required('products'): [basestring],
-        # A whitelist of gecko.v2 index route job names.
-        Optional('job-names'): [basestring],
     },
     Required('try'): {
         # We have a few platforms for which we want to do some "extra" builds, or at
         # least build-ish things.  Sort of.  Anyway, these other things are implemented
         # as different "platforms".  These do *not* automatically ride along with "-p
         # all"
         Required('ridealong-builds', default={}): {basestring: [basestring]},
     },
--- a/taskcluster/taskgraph/transforms/task.py
+++ b/taskcluster/taskgraph/transforms/task.py
@@ -711,35 +711,23 @@ def superseder_url(config, task):
     size = task['coalesce']['size']
     return SUPERSEDER_URL.format(
         age=age,
         size=size,
         key=key
     )
 
 
-JOB_NAME_WHITELIST_ERROR = """\
-The gecko-v2 job name {job_name} is not in the whitelist in `taskcluster/ci/config.yml`.
-If this job runs on Buildbot, please ensure that the job names match between
-Buildbot and TaskCluster, then add the job name to the whitelist.  If this is a
-new job, there is nothing to check -- just add the job to the whitelist.
-"""
-
 UNSUPPORTED_PRODUCT_ERROR = """\
 The gecko-v2 product {product} is not in the list of configured products in
 `taskcluster/ci/config.yml'.
 """
 
 
 def verify_index(config, index):
-    if 'job-names' in config.graph_config['index']:
-        job_name = index['job-name']
-        if job_name not in config.graph_config['index']['job-names']:
-            raise Exception(JOB_NAME_WHITELIST_ERROR.format(job_name=job_name))
-
     product = index['product']
     if product not in config.graph_config['index']['products']:
         raise Exception(UNSUPPORTED_PRODUCT_ERROR.format(product=product))
 
 
 @payload_builder('docker-worker')
 def build_docker_worker_payload(config, task, task_def):
     worker = task['worker']