From 7b97f0a4b8bd4187056b1afb0a6b39375d033502 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Tue, 27 Oct 2020 14:00:01 +0000 Subject: [PATCH] Bug 1673359 - Replace regex complexity with more granular test sets. r=ahal,sfink I need to modify the ccov regexes to allow additional suffixes. The negative- search regex makes this hard, and seems quite complex/error-prone. Instead of the negative-search regex, we can accomplish the same thing by splitting out a new test-set. Note that with this patch, there are a handful of jobs that get removed from the list generated by `./mach taskgraph full` (listed below). I believe this is a desirable change since per the comment in the code it seems like we don't want these jobs to run. In fact, I don't see these jobs on TreeHerder, so maybe some other step is pruning them out anyway. The jobs being removed are below. The '*' at the end represents the chunk number, each of the labels with a '*' has 6 chunks which I've collapsed into a single label for brevity. test-linux1804-64-asan/opt-jittest-1proc-* test-linux1804-64/debug-jittest-1proc-* test-linux1804-64-devedition/opt-jittest-1proc-* test-linux1804-64/opt-jittest-1proc-* test-linux1804-64-qr/debug-jittest-1proc-* test-linux1804-64-qr/opt-jittest-1proc-* test-linux1804-64-shippable/opt-jittest-1proc-* test-linux1804-64-shippable-qr/opt-jittest-1proc-* test-windows10-64-asan/opt-jittest-1proc test-windows10-64/debug-jittest-1proc test-windows10-64-devedition/opt-jittest-1proc test-windows10-64/opt-jittest-1proc test-windows10-64-shippable/opt-jittest-1proc test-windows7-32/debug-jittest-1proc test-windows7-32/opt-jittest-1proc test-windows7-32-shippable/opt-jittest-1proc Differential Revision: https://phabricator.services.mozilla.com/D94723 --- taskcluster/ci/test/compiled.yml | 16 ---------------- taskcluster/ci/test/test-platforms.yml | 2 ++ taskcluster/ci/test/test-sets.yml | 19 ++++++++++++++++--- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/taskcluster/ci/test/compiled.yml b/taskcluster/ci/test/compiled.yml index 14c702dd9c37..1ba83723da02 100644 --- a/taskcluster/ci/test/compiled.yml +++ b/taskcluster/ci/test/compiled.yml @@ -74,22 +74,6 @@ jittest: treeherder-symbol: Jit run-on-projects: by-test-platform: - # Turn off for all linux and windows platforms, since it is - # redundant with SM(...) jobs -- except for code coverage builds, - # which are still needed since ccov doesn't yet work with - # spidermonkey jobs. - # - # The regex is essentially /linux.*/ but with a negative match for - # the last 5 characters being "-ccov". The terminal ..... is needed - # because otherwise the .* could match the full string and the - # empty string would fail to match /(?!-ccov)/ so the whole thing - # would succeed. The beginning /?=linux/ is needed because the - # platform "linux64" doesn't have enough characters for both the - # beginning /linux/ and the final /...../. - # - # Additionally, platforms contain suffixes like "/opt" or "/debug". - (?=linux).*(?!-ccov)...../.*: [] # redundant with SM(...) - (?=windows).*(?!-ccov)...../.*: [] # redundant with SM(p) android-hw-.*-aarch64/debug: ['mozilla-central', 'release'] android-hw-.*-api-16(?:-shippable)?/.*: ['mozilla-central', 'release'] default: built-projects diff --git a/taskcluster/ci/test/test-platforms.yml b/taskcluster/ci/test/test-platforms.yml index 9bbc4838c422..ce3fa5ff24fd 100644 --- a/taskcluster/ci/test/test-platforms.yml +++ b/taskcluster/ci/test/test-platforms.yml @@ -110,6 +110,7 @@ linux1804-64-ccov/opt: test-sets: - awsy - linux1804-tests + - linux1804-ccov-tests - web-platform-tests - ccov-code-coverage-tests - mochitest-webgpu @@ -231,6 +232,7 @@ windows10-64-ccov/opt: - windows-talos - marionette-gpu-tests - windows-tests + - windows-ccov-tests - windows10-tests - web-platform-tests - ccov-code-coverage-tests diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml index 8f3ea5733e88..d3ca68576421 100644 --- a/taskcluster/ci/test/test-sets.yml +++ b/taskcluster/ci/test/test-sets.yml @@ -219,7 +219,7 @@ linux1804-tests: - firefox-ui-functional-local - firefox-ui-functional-remote - gtest - - jittest + # - jittest # See comment in linux1804-ccov-tests set. - jsreftest - marionette - mochitest-a11y @@ -247,7 +247,7 @@ linux1804-qr-tests: - cppunit - crashtest - gtest - - jittest + # - jittest # See comment in linux1804-ccov-tests set. - jsreftest - mochitest-a11y - mochitest-chrome @@ -263,6 +263,13 @@ linux1804-qr-tests: - reftest - xpcshell +linux1804-ccov-tests: + # jittest run on regular linux builds is redundant with SM(p), so we omit it + # from the linux1804-tests and linux1804-qr-tests sets. But, we still want + # to run it on ccov builds, so we have this set that has it and which runs + # on ccov builds. + - jittest + linux-qr-smoketests: - crashtest - reftest @@ -292,7 +299,7 @@ windows-tests: - firefox-ui-functional-local - firefox-ui-functional-remote - gtest - - jittest + # - jittest # See comment in windows-ccov-tests set. - jsreftest - marionette - mochitest-a11y @@ -311,6 +318,12 @@ windows-tests: - test-verify-wpt - xpcshell +windows-ccov-tests: + # jittest run on regular windows builds is redundant with SM(p), so we omit + # it from the windows-tests set. But, we still want to run it on ccov builds, + # so we have this set that has it and which runs on ccov builds. + - jittest + windows10-tests: - mochitest-webgl1-core - mochitest-webgl1-ext