Bug 1466077 - Make all ccov test suites inherit the run-on-projects from their ccov build. r=jmaher
authorMarco Castelluccio <mcastelluccio@mozilla.com>
Fri, 01 Jun 2018 17:54:25 +0200
changeset 420885 c78a67ef0566909b2f794c08aff4bc3bca9395f7
parent 420884 3b9d55ec305565977c6d3adfe7f4eef0dd950bdf
child 420886 916e5914d84acd420f61b5dd48027ddce9465e5d
push id103915
push usermcastelluccio@mozilla.com
push dateFri, 01 Jun 2018 16:15:17 +0000
treeherdermozilla-inbound@c78a67ef0566 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1466077
milestone62.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 1466077 - Make all ccov test suites inherit the run-on-projects from their ccov build. r=jmaher
taskcluster/ci/build/linux.yml
taskcluster/ci/build/windows.yml
taskcluster/ci/test/misc.yml
taskcluster/ci/test/web-platform.yml
taskcluster/taskgraph/transforms/tests.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -808,17 +808,17 @@ linux64-jsdcov/opt:
     description: "Linux64-JSDCov Opt"
     index:
         product: firefox
         job-name: linux64-jsdcov-opt
     treeherder:
         platform: linux64-jsdcov/opt
         symbol: B
         tier: 2
-    run-on-projects: []
+    run-on-projects: ['mozilla-central', 'try']
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
@@ -837,17 +837,17 @@ linux64-ccov/debug:
     description: "Linux64-CCov Debug"
     index:
         product: firefox
         job-name: linux64-ccov-debug
     treeherder:
         platform: linux64-ccov/debug
         symbol: B
         tier: 2
-    run-on-projects: []
+    run-on-projects: ['mozilla-central', 'try']
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
@@ -866,17 +866,17 @@ linux64-ccov/opt:
     description: "Linux64-CCov Opt"
     index:
         product: firefox
         job-name: linux64-ccov-opt
     treeherder:
         platform: linux64-ccov/opt
         symbol: B
         tier: 2
-    run-on-projects: []
+    run-on-projects: ['try']
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build check-test update]
         config:
             - builds/releng_base_firefox.py
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -557,17 +557,17 @@ win64-ccov/debug:
         using: mozharness
         options: [append-env-variables-from-configs]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/releng_base_firefox.py
             - builds/taskcluster_base_windows.py
             - builds/taskcluster_base_win64.py
             - builds/taskcluster_sub_win64/ccov_debug.py
-    run-on-projects: []
+    run-on-projects: ['mozilla-central', 'try']
     toolchains:
         - win64-clang-cl
         - win64-rust
         - win64-sccache
 
 win64-asan/debug:
     description: "Win64 Debug ASAN"
     index:
--- a/taskcluster/ci/test/misc.yml
+++ b/taskcluster/ci/test/misc.yml
@@ -93,18 +93,19 @@ test-verify:
     instance-size:
         by-test-platform:
             android.*: xlarge
             default: default
     max-run-time: 10800
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
-            # do not run on ccov; see also the enable_code_coverage transform
+            # do not run on ccov or jsdcov
             .*-ccov/.*: []
+            .*-jsdcov/.*: []
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         script:
             by-test-platform:
                 android.*: android_emulator_unittest.py
                 default: desktop_unittest.py
@@ -132,18 +133,19 @@ test-verify-gpu:
     instance-size:
         by-test-platform:
             android.*: xlarge
             default: default
     max-run-time: 10800
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
-            # do not run on ccov; see also the enable_code_coverage transform
+            # do not run on ccov or jsdcov
             .*-ccov/.*: []
+            .*-jsdcov/.*: []
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         script:
             by-test-platform:
                 android.*: android_emulator_unittest.py
                 default: desktop_unittest.py
@@ -168,18 +170,17 @@ test-coverage:
     suite: test-coverage
     treeherder-symbol: TC
     loopback-video: true
     instance-size: default
     max-run-time: 10800
     allow-software-gl-layers: false
     run-on-projects:
         by-test-platform:
-            # only run on mozilla-central and try.
-            .*-ccov/.*: ['mozilla-central', 'try']
+            .*-ccov/.*: built-projects
             default: []
     tier: 2
     mozharness:
         script:
             by-test-platform:
                 android.*: android_emulator_unittest.py
                 default: desktop_unittest.py
         config:
--- a/taskcluster/ci/test/web-platform.yml
+++ b/taskcluster/ci/test/web-platform.yml
@@ -136,31 +136,31 @@ web-platform-tests-wdspec-headless:
 
 test-verify-wpt:
     description: "Extra verification of web-platform tests modified on this push"
     suite: test-verify
     treeherder-symbol: TVw
     max-run-time: 10800
     run-on-projects:
         by-test-platform:
-            # do not run on ccov; see also the enable_code_coverage transform
+            # do not run on ccov or jsdcov
             .*-ccov/.*: []
+            .*-jsdcov/.*: []
             # do not run on beta or release: usually just confirms earlier results
             default: ['trunk', 'try']
     tier: 2
     mozharness:
         extra-options:
             - --verify
 
 test-coverage-wpt:
     description: "Per web-platform test coverage"
     suite: test-coverage-wpt
     treeherder-symbol: TCw
     max-run-time: 10800
     run-on-projects:
         by-test-platform:
-            # only run on mozilla-central and try.
-            .*-ccov/.*: ['mozilla-central', 'try']
+            .*-ccov/.*: built-projects
             default: []
     tier: 2
     mozharness:
         extra-options:
             - --per-test-coverage
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -699,23 +699,23 @@ def handle_suite_category(config, tests)
 
         yield test
 
 
 @transforms.add
 def enable_code_coverage(config, tests):
     """Enable code coverage for the ccov and jsdcov build-platforms"""
     for test in tests:
-        if 'ccov' in test['build-platform'] and not test['test-name'].startswith('test-verify'):
+        if 'ccov' in test['build-platform']:
             test['mozharness'].setdefault('extra-options', []).append('--code-coverage')
             test['instance-size'] = 'xlarge'
-            # Ensure we don't run on inbound/autoland/beta, but if the test is try only, ignore it
-            if 'mozilla-central' in test['run-on-projects'] or \
-                    test['run-on-projects'] == 'built-projects':
-                test['run-on-projects'] = ['mozilla-central', 'try']
+            # Ensure we always run on the projects defined by the build, unless the test
+            # is try only or shouldn't run at all.
+            if test['run-on-projects'] not in [[], ['try']]:
+                test['run-on-projects'] = 'built-projects'
 
             # Ensure we don't optimize test suites out.
             # We always want to run all test suites for coverage purposes.
             test.pop('schedules-component', None)
             test.pop('when', None)
             test['optimization'] = None
 
             if 'talos' in test['test-name']:
@@ -730,20 +730,20 @@ def enable_code_coverage(config, tests):
                 test['mozharness']['extra-options'].append('--no-upload-results')
                 test['mozharness']['extra-options'].append('--add-option')
                 test['mozharness']['extra-options'].append('--tptimeout,15000')
             if 'raptor' in test['test-name']:
                 test['max-run-time'] = 1800
                 if 'linux' in test['build-platform']:
                     test['docker-image'] = {"in-tree": "desktop1604-test"}
         elif test['build-platform'] == 'linux64-jsdcov/opt':
-            # Ensure we don't run on inbound/autoland/beta, but if the test is try only, ignore it
-            if 'mozilla-central' in test['run-on-projects'] or \
-                    test['run-on-projects'] == 'built-projects':
-                test['run-on-projects'] = ['mozilla-central', 'try']
+            # Ensure we always run on the projects defined by the build, unless the test
+            # is try only or shouldn't run at all.
+            if test['run-on-projects'] not in [[], ['try']]:
+                test['run-on-projects'] = 'built-projects'
             test['mozharness'].setdefault('extra-options', []).append('--jsd-code-coverage')
         yield test
 
 
 @transforms.add
 def handle_run_on_projects(config, tests):
     """Handle translating `built-projects` appropriately"""
     for test in tests: