commit 9f703359a18afd13a872536296e231c323a2fadd
parent b63cca551be4eff43597ae95edc0435e376b7e3c
Author: Andrej Glavic <aglavic@mozilla.com>
Date: Thu, 2 Oct 2025 14:24:24 +0000
Bug 1964705 - Retrigger select perf tests on autoland. r=perftest-reviewers,taskgraph-reviewers,jmaher,kshampur
Our goal here is to increase the speed of detecting performance changes
Our current detection methods required 12 data points to make a decision on if a regression has happened.
Rather than backfilling, and causing builds to run(and overload their capacity) we are choosing to retrigger the same datapoints
Differential Revision: https://phabricator.services.mozilla.com/D264630
Diffstat:
2 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/.cron.yml b/.cron.yml
@@ -370,6 +370,14 @@ jobs:
include-push-tasks: true
when: []
+ - name: retrigger-perftests-autoland
+ job:
+ type: decision-task
+ treeherder-symbol: ret-perftest-auto
+ target-tasks-method: retrigger-perftests-autoland
+ include-push-tasks: true
+ when: []
+
- name: scriptworker-canary
job:
type: trigger-action
diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py
@@ -1553,6 +1553,32 @@ def target_tasks_perftest_autoland(full_task_graph, parameters, graph_config):
yield name
+@register_target_task("retrigger-perftests-autoland")
+def retrigger_perftests_autoland_commits(full_task_graph, parameters, graph_config):
+ """
+ In this transform we are trying to do retrigger the following tasks 4 times every 20 commits in autoland:
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-cold-main-first-frame",
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-cold-view-nav-start",
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-homeview-startup",
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-newssite-applink-startup",
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-shopify-applink-startup",
+ - "perftest-android-hw-a55-aarch64-shippable-startup-fenix-tab-restore-shopify"
+ - "test-windows11-64-24h2-shippable/opt-browsertime-benchmark-firefox-speedometer3",
+ """
+ retrigger_count = 4
+ for name, task in full_task_graph.tasks.items():
+ if (
+ (
+ "perftest-android-hw-a55-aarch64-shippable-startup-fenix" in task.label
+ and "simple" not in task.label
+ )
+ or "test-windows11-64-24h2-shippable/opt-browsertime-benchmark-firefox-speedometer3"
+ in task.label
+ ):
+ task.attributes["task_duplicates"] = retrigger_count
+ yield name
+
+
@register_target_task("eslint-build")
def target_tasks_eslint_build(full_task_graph, parameters, graph_config):
"""Select the task to run additional ESLint rules which require a build."""