mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1648414
- Define some additional bugbug-based strategies and remove poorly performing ones. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D81050
This commit is contained in:
parent
a6c9cd86e2
commit
9e5cdda0dd
@ -34,27 +34,27 @@ relevant_tests:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.relevant_tests
|
||||
|
||||
bugbug_all:
|
||||
description: Runs the bugbug_all optimization strategy instead of the default.
|
||||
bugbug_tasks_medium:
|
||||
description: Runs the bugbug_tasks_medium optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_all)
|
||||
symbol: SS(bugbug_tasks_medium)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_all
|
||||
job-name: shadow-scheduler-bugbug_tasks_medium
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_all
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_tasks_medium
|
||||
|
||||
bugbug_all_high:
|
||||
description: Runs the bugbug_all optimization strategy (with a high confidence threshold) instead of the default.
|
||||
bugbug_tasks_high:
|
||||
description: Runs the bugbug_tasks_high optimization strategy (with a high confidence threshold) instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_all_high)
|
||||
symbol: SS(bugbug_tasks_high)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_all_high
|
||||
job-name: shadow-scheduler-bugbug_tasks_high
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_all_high
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_tasks_high
|
||||
|
||||
bugbug_debug_disperse:
|
||||
description: Runs the bugbug_debug_disperse optimization strategy instead of the default.
|
||||
@ -78,6 +78,50 @@ bugbug_disperse_low:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_low
|
||||
|
||||
bugbug_disperse_medium:
|
||||
description: Runs the bugbug_disperse_medium optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_disperse_med)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_disperse_medium
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium
|
||||
|
||||
bugbug_disperse_reduced_medium:
|
||||
description: Runs the bugbug_disperse_reduced_medium optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_di_r_med_noun)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_disperse_reduced_medium
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_reduced_medium
|
||||
|
||||
bugbug_disperse_medium_no_unseen:
|
||||
description: Runs the bugbug_disperse_medium_no_unseen optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_disp_med_noun)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_disperse_medium_no_unseen
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium_no_unseen
|
||||
|
||||
bugbug_disperse_medium_only_one:
|
||||
description: Runs the bugbug_disperse_medium_only_one optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_disp_med_one)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_disperse_medium_only_one
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_medium_only_one
|
||||
|
||||
bugbug_disperse_high:
|
||||
description: Runs the bugbug_disperse_high optimization strategy instead of the default.
|
||||
treeherder:
|
||||
@ -89,17 +133,6 @@ bugbug_disperse_high:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse_high
|
||||
|
||||
bugbug_disperse:
|
||||
description: Runs the bugbug_disperse optimization strategy instead of the default.
|
||||
treeherder:
|
||||
symbol: SS(bugbug_disperse)
|
||||
index:
|
||||
product: source
|
||||
job-name: shadow-scheduler-bugbug_disperse
|
||||
worker:
|
||||
env:
|
||||
TASKGRAPH_OPTIMIZE_STRATEGIES: taskgraph.optimize:experimental.bugbug_disperse
|
||||
|
||||
bugbug_reduced:
|
||||
description: Runs the bugbug_reduced optimization strategy instead of the default.
|
||||
treeherder:
|
||||
|
@ -426,20 +426,20 @@ class experimental(object):
|
||||
./mach try auto --strategy relevant_tests
|
||||
"""
|
||||
|
||||
bugbug_all = {
|
||||
'test': Any('skip-unless-schedules', 'bugbug', split_args=tuple),
|
||||
bugbug_tasks_medium = {
|
||||
'test': Any('skip-unless-schedules', 'bugbug-tasks-medium', split_args=tuple),
|
||||
}
|
||||
"""Doesn't limit platforms, medium confidence threshold."""
|
||||
|
||||
bugbug_all_high = {
|
||||
'test': Any('skip-unless-schedules', 'bugbug-high', split_args=tuple),
|
||||
bugbug_tasks_high = {
|
||||
'test': Any('skip-unless-schedules', 'bugbug-tasks-high', split_args=tuple),
|
||||
}
|
||||
"""Doesn't limit platforms, high confidence threshold."""
|
||||
|
||||
bugbug_debug_disperse = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
Any('bugbug', 'platform-debug', 'platform-disperse'),
|
||||
Any('bugbug-low', 'platform-debug', 'platform-disperse'),
|
||||
split_args=tuple
|
||||
),
|
||||
}
|
||||
@ -454,15 +454,43 @@ class experimental(object):
|
||||
}
|
||||
"""Disperse tests across platforms, low confidence threshold."""
|
||||
|
||||
bugbug_disperse = {
|
||||
bugbug_disperse_medium = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
Any('bugbug', 'platform-disperse'),
|
||||
Any('bugbug-medium', 'platform-disperse'),
|
||||
split_args=tuple
|
||||
),
|
||||
}
|
||||
"""Disperse tests across platforms, medium confidence threshold."""
|
||||
|
||||
bugbug_disperse_reduced_medium = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
Any('bugbug-reduced-manifests', 'platform-disperse'),
|
||||
split_args=tuple
|
||||
),
|
||||
}
|
||||
"""Disperse tests across platforms, medium confidence threshold with reduced tasks."""
|
||||
|
||||
bugbug_disperse_medium_no_unseen = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
Any('bugbug-medium', 'platform-disperse-no-unseen'),
|
||||
split_args=tuple
|
||||
),
|
||||
}
|
||||
"""Disperse tests across platforms (no modified for unseen configurations), medium confidence
|
||||
threshold."""
|
||||
|
||||
bugbug_disperse_medium_only_one = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
Any('bugbug-medium', 'platform-disperse-only-one'),
|
||||
split_args=tuple
|
||||
),
|
||||
}
|
||||
"""Disperse tests across platforms (one platform per group), medium confidence threshold."""
|
||||
|
||||
bugbug_disperse_high = {
|
||||
'test': Any(
|
||||
'skip-unless-schedules',
|
||||
|
@ -18,12 +18,15 @@ from taskgraph.util.bugbug import (
|
||||
)
|
||||
|
||||
|
||||
@register_strategy("bugbug", args=(CT_MEDIUM,))
|
||||
@register_strategy("bugbug-low", args=(CT_LOW,))
|
||||
@register_strategy("bugbug-medium", args=(CT_MEDIUM,))
|
||||
@register_strategy("bugbug-high", args=(CT_HIGH,))
|
||||
@register_strategy("bugbug-tasks-medium", args=(CT_MEDIUM, True))
|
||||
@register_strategy("bugbug-tasks-high", args=(CT_HIGH, True))
|
||||
@register_strategy("bugbug-reduced", args=(CT_MEDIUM, True, True))
|
||||
@register_strategy("bugbug-reduced-fallback", args=(CT_MEDIUM, True, True, True))
|
||||
@register_strategy("bugbug-reduced-high", args=(CT_HIGH, True, True))
|
||||
@register_strategy("bugbug-reduced-manifests", args=(CT_MEDIUM, False, True))
|
||||
class BugBugPushSchedules(OptimizationStrategy):
|
||||
"""Query the 'bugbug' service to retrieve relevant tasks and manifests.
|
||||
|
||||
@ -120,6 +123,13 @@ class SkipUnlessDebug(OptimizationStrategy):
|
||||
|
||||
|
||||
@register_strategy("platform-disperse")
|
||||
@register_strategy("platform-disperse-no-unseen", args=(None, 0))
|
||||
@register_strategy("platform-disperse-only-one", args=({
|
||||
'high': 1,
|
||||
'medium': 1,
|
||||
'low': 1,
|
||||
'lowest': 0,
|
||||
}, 0))
|
||||
class DisperseGroups(OptimizationStrategy):
|
||||
"""Disperse groups across test configs.
|
||||
|
||||
|
@ -16,8 +16,8 @@ RETRY_TIMEOUT = 8 * 60 # seconds
|
||||
RETRY_INTERVAL = 10 # seconds
|
||||
|
||||
# Preset confidence thresholds.
|
||||
CT_LOW = 0.5
|
||||
CT_MEDIUM = 0.7
|
||||
CT_LOW = 0.7
|
||||
CT_MEDIUM = 0.8
|
||||
CT_HIGH = 0.9
|
||||
|
||||
GROUP_TRANSLATIONS = {
|
||||
|
@ -21,7 +21,7 @@ from moztest.resolve import (
|
||||
)
|
||||
|
||||
from taskgraph import GECKO
|
||||
from taskgraph.util.bugbug import CT_MEDIUM, push_schedules
|
||||
from taskgraph.util.bugbug import CT_LOW, push_schedules
|
||||
|
||||
here = os.path.abspath(os.path.dirname(__file__))
|
||||
resolver = TestResolver.from_environment(cwd=here, loader_cls=TestManifestLoader)
|
||||
@ -207,7 +207,7 @@ class DefaultLoader(BaseManifestLoader):
|
||||
class BugbugLoader(DefaultLoader):
|
||||
"""Load manifests using metadata from the TestResolver, and then
|
||||
filter them based on a query to bugbug."""
|
||||
CONFIDENCE_THRESHOLD = CT_MEDIUM
|
||||
CONFIDENCE_THRESHOLD = CT_LOW
|
||||
|
||||
@memoize
|
||||
def get_manifests(self, suite, mozinfo):
|
||||
|
Loading…
Reference in New Issue
Block a user