From 210310640d282e6db2fc27b4aa8a59aedd411c8d Mon Sep 17 00:00:00 2001 From: Dave Hunt Date: Wed, 17 Mar 2021 23:16:43 +0000 Subject: [PATCH] Bug 1699140 - Remove by-pageload taskgraph transform for page load tests r=perftest-reviewers,sparky Differential Revision: https://phabricator.services.mozilla.com/D108788 --- taskcluster/ci/test/browsertime-desktop.yml | 4 +- taskcluster/ci/test/browsertime-mobile.yml | 93 ++++----------------- taskcluster/taskgraph/transforms/raptor.py | 84 +------------------ 3 files changed, 22 insertions(+), 159 deletions(-) diff --git a/taskcluster/ci/test/browsertime-desktop.yml b/taskcluster/ci/test/browsertime-desktop.yml index 27885cfed296..927e480d3c7c 100644 --- a/taskcluster/ci/test/browsertime-desktop.yml +++ b/taskcluster/ci/test/browsertime-desktop.yml @@ -85,7 +85,6 @@ browsertime-tp6: by-app: firefox: ['fission'] default: [] - pageload: cold fission-tier: 2 fission-run-on-projects: by-test-platform: @@ -182,7 +181,6 @@ browsertime-tp6-live: tier: 2 apps: ["firefox"] variants: [] - pageload: cold treeherder-symbol: Btime-live(tp6) run-on-projects: by-test-platform: @@ -199,9 +197,9 @@ browsertime-tp6-profiling: raptor-test: tp6 raptor-subtests: ['amazon'] apps: ['firefox'] - pageload: 'both' treeherder-symbol: Btime-Prof(tp6) max-run-time: 4000 mozharness: extra-options: + - --chimera - --gecko-profile diff --git a/taskcluster/ci/test/browsertime-mobile.yml b/taskcluster/ci/test/browsertime-mobile.yml index 81a23a8dab43..df7b3a5cad86 100644 --- a/taskcluster/ci/test/browsertime-mobile.yml +++ b/taskcluster/ci/test/browsertime-mobile.yml @@ -137,19 +137,11 @@ browsertime-tp6m: chrome-m: [] fennec: [] geckoview: - by-pageload: - cold: - by-test-platform: - &android-cold-settings - android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta'] - android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta'] - default: [] - warm: - by-test-platform: - &android-warm-settings - android-hw-g5-7-0-arm7-api-16-shippable/opt: ['mozilla-central'] - android-hw-p2-8-0-android-aarch64-shippable/opt: ['mozilla-central'] - default: [] + &sheriffed-platforms + by-test-platform: + android-hw-g5-7-0-arm7-api-16-shippable/opt: ['trunk', 'mozilla-beta'] + android-hw-p2-8-0-android-aarch64-shippable/opt: ['trunk', 'mozilla-beta'] + default: [] default: by-test-platform: android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central"] @@ -160,77 +152,28 @@ browsertime-tp6m: chrome-m: [] refbrow: [] fennec: [] - geckoview: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings + geckoview: *sheriffed-platforms default: by-test-platform: android-hw-p2-.*aarch64-shippable/opt: ["mozilla-central", "try"] default: [] default: - by-pageload: - cold: - by-app: - geckoview: - by-test-platform: *android-cold-settings - default: [] - warm: - by-app: - geckoview: - by-test-platform: *android-warm-settings - default: [] + by-app: + geckoview: *sheriffed-platforms + default: [] run-on-projects: by-app: geckoview: by-subtest: - allrecipes: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - amazon-search: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - espn: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - facebook: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - google: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - microsoft-support: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings - youtube-watch: - by-pageload: - cold: - by-test-platform: *android-cold-settings - warm: - by-test-platform: *android-warm-settings + allrecipes: *sheriffed-platforms + amazon-search: *sheriffed-platforms + espn: *sheriffed-platforms + facebook: *sheriffed-platforms + google: *sheriffed-platforms + microsoft-support: *sheriffed-platforms + youtube-watch: *sheriffed-platforms default: [] default: [] - pageload: cold run-visual-metrics: true treeherder-symbol: Btime(tp6m) mozharness: @@ -345,7 +288,6 @@ browsertime-tp6m-live: android-hw-p2-8-0-android-aarch64-shippable/opt: ["autoland"] default: [] default: [] - pageload: cold run-visual-metrics: true treeherder-symbol: Btime-live(tp6m) mozharness: @@ -358,14 +300,13 @@ browsertime-tp6m-profiling: raptor-test: tp6m raptor-subtests: ["amazon", "youtube"] apps: ["geckoview"] - pageload: cold treeherder-symbol: Btime-Prof(tp6m) mozharness: script: raptor_script.py config: - raptor/android_hw_config.py extra-options: - - --browsertime + - --chimera - --gecko-profile browsertime-speedometer-mobile: diff --git a/taskcluster/taskgraph/transforms/raptor.py b/taskcluster/taskgraph/transforms/raptor.py index d14b8a448561..3e2a70968e23 100644 --- a/taskcluster/taskgraph/transforms/raptor.py +++ b/taskcluster/taskgraph/transforms/raptor.py @@ -8,7 +8,6 @@ from copy import deepcopy from six import text_type from voluptuous import ( - Any, Optional, Required, Extra, @@ -30,18 +29,12 @@ raptor_description_schema = Schema( Optional("raptor-subtests"): optionally_keyed_by("app", "test-platform", list), Optional("activity"): optionally_keyed_by("app", text_type), Optional("binary-path"): optionally_keyed_by("app", text_type), - Optional("pageload"): optionally_keyed_by( - "test-platform", - "app", - Any("cold", "warm", "both"), - ), # Configs defined in the 'test_description_schema'. Optional("max-run-time"): optionally_keyed_by( "app", test_description_schema["max-run-time"] ), Optional("run-on-projects"): optionally_keyed_by( "app", - "pageload", "test-name", "raptor-test", "subtest", @@ -49,7 +42,6 @@ raptor_description_schema = Schema( ), Optional("fission-run-on-projects"): optionally_keyed_by( "app", - "pageload", "test-name", "raptor-test", "subtest", @@ -58,7 +50,6 @@ raptor_description_schema = Schema( ), Optional("webrender-run-on-projects"): optionally_keyed_by( "app", - "pageload", "test-name", "raptor-test", "subtest", @@ -95,7 +86,6 @@ transforms.add_validate(raptor_description_schema) @transforms.add def set_defaults(config, tests): for test in tests: - test.setdefault("pageload", None) test.setdefault("run-visual-metrics", False) yield test @@ -122,12 +112,7 @@ def split_apps(config, tests): atest["app"] = app atest["description"] += " on {}".format(app.capitalize()) - name = atest["test-name"] - if name.endswith("-cold"): - name = atest["test-name"][: -len("-cold")] + suffix + "-cold" - else: - name += suffix - + name = atest["test-name"] + suffix atest["test-name"] = name atest["try-name"] = name @@ -146,21 +131,8 @@ def handle_keyed_by_prereqs(config, tests): these keyed-by options might have keyed-by fields as well. """ - fields = ["raptor-subtests", "pageload"] for test in tests: - for field in fields: - resolve_keyed_by(test, field, item_name=test["test-name"]) - - # We need to make the split immediately so that we can split - # task configurations by pageload type, the `both` condition is - # the same as not having a by-pageload split. - if test["pageload"] == "both": - test["pageload"] = "cold" - - warmtest = deepcopy(test) - warmtest["pageload"] = "warm" - yield warmtest - + resolve_keyed_by(test, "raptor-subtests", item_name=test["test-name"]) yield test @@ -214,44 +186,6 @@ def handle_keyed_by(config, tests): yield test -@transforms.add -def split_pageload(config, tests): - # Split test by pageload type (cold, warm) - for test in tests: - mozharness = test.setdefault("mozharness", {}) - extra_options = mozharness.setdefault("extra-options", []) - - pageload = test.pop("pageload", None) - - if not pageload or "--chimera" in extra_options: - yield test - continue - - if pageload in ("warm", "both"): - # make a deepcopy if 'both', otherwise use the test object itself - warmtest = deepcopy(test) if pageload == "both" else test - - warmtest["warm"] = True - group, symbol = split_symbol(warmtest["treeherder-symbol"]) - symbol += "-w" - warmtest["treeherder-symbol"] = join_symbol(group, symbol) - yield warmtest - - if pageload in ("cold", "both"): - assert "subtest" in test - - test["description"] += " using cold pageload" - test["cold"] = True - test["max-run-time"] = 3000 - test["test-name"] += "-cold" - test["try-name"] += "-cold" - - group, symbol = split_symbol(test["treeherder-symbol"]) - symbol += "-c" - test["treeherder-symbol"] = join_symbol(group, symbol) - yield test - - @transforms.add def split_page_load_by_url(config, tests): for test in tests: @@ -285,15 +219,8 @@ def split_page_load_by_url(config, tests): test["try-name"] += "-{}".format(subtest) # Set treeherder symbol and description - group, symbol = split_symbol(test["treeherder-symbol"]) - - symbol = subtest_symbol - if test.get("cold"): - symbol += "-c" - elif test.pop("warm", False): - symbol += "-w" - - test["treeherder-symbol"] = join_symbol(group, symbol) + group, _ = split_symbol(test["treeherder-symbol"]) + test["treeherder-symbol"] = join_symbol(group, subtest_symbol) test["description"] += " on {}".format(subtest) yield test @@ -328,9 +255,6 @@ def add_extra_options(config, tests): if "app" in test: extra_options.append("--app={}".format(test.pop("app"))) - if test.pop("cold", False) is True: - extra_options.append("--cold") - if "activity" in test: extra_options.append("--activity={}".format(test.pop("activity")))