tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
M.cron.yml | 8++++++++
Mtaskcluster/gecko_taskgraph/target_tasks.py | 26++++++++++++++++++++++++++
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."""