forked from mirrors/gecko-dev
Bug 1899878 - Add a lull-schedule attribute to some browsertime tasks. r=kshampur,perftest-reviewers DONTBUILD
This patch adds a lull-schedule attribute to some browsertime live-site tasks so that we can start testing lull-scheduling. The lull-schedule attribute will be used to denote how frequently a particular task should run. The lull-schedule attribute exists first as a raptor specific setting, and is then added to the `extra` section so that we can make use of it in the `mozci` module. Differential Revision: https://phabricator.services.mozilla.com/D212202
This commit is contained in:
parent
fdc5c7d608
commit
83e10bcf4c
3 changed files with 36 additions and 1 deletions
|
|
@ -529,5 +529,8 @@ Used by android browsertime tasks to track the path to the apk of the product un
|
||||||
|
|
||||||
test-manifests
|
test-manifests
|
||||||
==============
|
==============
|
||||||
|
|
||||||
A list of the test manifests that run in this task.
|
A list of the test manifests that run in this task.
|
||||||
|
|
||||||
|
lull-schedule
|
||||||
|
=============
|
||||||
|
Used by performance tasks to schedule them at a specified frequency in a best-effort method. Schedules them when the overall CI load is low for a given platform. Use "w" for weeks, "d" for days, "h" for hours, and "m" for minutes in a string like so to specify the scheduling frequency: 1d, 1w 4h, 2w 4d 1h.
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,9 @@ raptor_description_schema = Schema(
|
||||||
Optional("test-url-param"): optionally_keyed_by(
|
Optional("test-url-param"): optionally_keyed_by(
|
||||||
"subtest", "test-platform", str
|
"subtest", "test-platform", str
|
||||||
),
|
),
|
||||||
|
Optional("lull-schedule"): optionally_keyed_by(
|
||||||
|
"subtest", "test-platform", str
|
||||||
|
),
|
||||||
},
|
},
|
||||||
# Configs defined in the 'test_description_schema'.
|
# Configs defined in the 'test_description_schema'.
|
||||||
Optional("max-run-time"): optionally_keyed_by(
|
Optional("max-run-time"): optionally_keyed_by(
|
||||||
|
|
@ -163,6 +166,7 @@ def handle_keyed_by(config, tests):
|
||||||
"raptor.run-visual-metrics",
|
"raptor.run-visual-metrics",
|
||||||
"raptor.activity",
|
"raptor.activity",
|
||||||
"raptor.binary-path",
|
"raptor.binary-path",
|
||||||
|
"raptor.lull-schedule",
|
||||||
"limit-platforms",
|
"limit-platforms",
|
||||||
"fetches.fetch",
|
"fetches.fetch",
|
||||||
"max-run-time",
|
"max-run-time",
|
||||||
|
|
@ -339,6 +343,18 @@ def modify_mozharness_configs(config, tests):
|
||||||
yield test
|
yield test
|
||||||
|
|
||||||
|
|
||||||
|
@transforms.add
|
||||||
|
def handle_lull_schedule(config, tests):
|
||||||
|
# Setup lull schedule attribute here since the attributes
|
||||||
|
# can't have any keyed by settings
|
||||||
|
for test in tests:
|
||||||
|
if "lull-schedule" in test["raptor"]:
|
||||||
|
lull_schedule = test["raptor"].pop("lull-schedule")
|
||||||
|
if lull_schedule:
|
||||||
|
test.setdefault("attributes", {})["lull-schedule"] = lull_schedule
|
||||||
|
yield test
|
||||||
|
|
||||||
|
|
||||||
@task_transforms.add
|
@task_transforms.add
|
||||||
def add_scopes_and_proxy(config, tasks):
|
def add_scopes_and_proxy(config, tasks):
|
||||||
for task in tasks:
|
for task in tasks:
|
||||||
|
|
@ -347,3 +363,15 @@ def add_scopes_and_proxy(config, tasks):
|
||||||
"secrets:get:project/perftest/gecko/level-{level}/perftest-login"
|
"secrets:get:project/perftest/gecko/level-{level}/perftest-login"
|
||||||
)
|
)
|
||||||
yield task
|
yield task
|
||||||
|
|
||||||
|
|
||||||
|
@task_transforms.add
|
||||||
|
def setup_lull_schedule(config, tasks):
|
||||||
|
for task in tasks:
|
||||||
|
attrs = task.setdefault("attributes", {})
|
||||||
|
if attrs.get("lull-schedule", None) is not None:
|
||||||
|
# Move the lull schedule attribute into the extras
|
||||||
|
# so that it can be accessible through mozci
|
||||||
|
lull_schedule = attrs.pop("lull-schedule")
|
||||||
|
task.setdefault("extra", {})["lull-schedule"] = lull_schedule
|
||||||
|
yield task
|
||||||
|
|
|
||||||
|
|
@ -659,6 +659,10 @@ browsertime-tp6-live:
|
||||||
apps: [firefox, chrome, safari]
|
apps: [firefox, chrome, safari]
|
||||||
test: tp6
|
test: tp6
|
||||||
run-visual-metrics: true
|
run-visual-metrics: true
|
||||||
|
lull-schedule:
|
||||||
|
by-test-platform:
|
||||||
|
.*shippable.*: 1w
|
||||||
|
default: ""
|
||||||
subtests:
|
subtests:
|
||||||
by-app:
|
by-app:
|
||||||
safari:
|
safari:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue