Bug 1824829 - Add a daily cron for building and running performance tests on custom-car. r=perftest-reviewers,afinder

This patch adds a daily cron task to build the custom chromium-as-release (CaR) application and running
raptor browsertime tests with it.

Differential Revision: https://phabricator.services.mozilla.com/D177545
This commit is contained in:
Kash Shampur 2023-05-16 13:36:22 +00:00
parent d6a7291339
commit 3ab856b5a0
2 changed files with 46 additions and 0 deletions

View file

@ -107,6 +107,18 @@ jobs:
- {weekday: 'Wednesday', hour: 10, minute: 30} - {weekday: 'Wednesday', hour: 10, minute: 30}
- {weekday: 'Friday', hour: 10, minute: 30} - {weekday: 'Friday', hour: 10, minute: 30}
- name: custom-car-perf-testing
job:
type: decision-task
treeherder-symbol: ccar
target-tasks-method: custom-car_perf_testing
include-push-tasks: true
run-on-projects:
- mozilla-central
when:
by-project:
mozilla-central: [{hour: 18, minute: 30}]
# For more context on this job, see: # For more context on this job, see:
# https://github.com/mozsearch/mozsearch-mozilla#how-searchfoxorg-stays-up-to-date # https://github.com/mozsearch/mozsearch-mozilla#how-searchfoxorg-stays-up-to-date
# Note that searchfox now runs on-push for mozilla-central, but continues # Note that searchfox now runs on-push for mozilla-central, but continues

View file

@ -721,6 +721,35 @@ def target_tasks_ship_geckoview(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)] return [l for l, t in full_task_graph.tasks.items() if filter(t)]
@_target_task("custom-car_perf_testing")
def target_tasks_custom_car_perf_testing(full_task_graph, parameters, graph_config):
"""Select tasks required for running daily performance tests for custom chromium-as-release."""
def filter(task):
platform = task.attributes.get("test_platform")
attributes = task.attributes
if attributes.get("unittest_suite") != "raptor":
return False
try_name = attributes.get("raptor_try_name")
# Completely ignore all non-shippable platforms
if "shippable" not in platform:
return False
# ignore all windows 7 perf jobs scheduled automatically
if "windows7" in platform or "windows10-32" in platform:
return False
# Desktop selection only for CaR
if "android" not in platform:
if "browsertime" in try_name and "custom-car" in try_name:
return True
return False
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
@_target_task("general_perf_testing") @_target_task("general_perf_testing")
def target_tasks_general_perf_testing(full_task_graph, parameters, graph_config): def target_tasks_general_perf_testing(full_task_graph, parameters, graph_config):
""" """
@ -751,6 +780,9 @@ def target_tasks_general_perf_testing(full_task_graph, parameters, graph_config)
return True return True
if "chromium" in try_name: if "chromium" in try_name:
return True return True
# chromium-as-release has it's own cron
if "custom-car" in try_name:
return False
if "-live" in try_name: if "-live" in try_name:
return True return True
if "-fis" in try_name: if "-fis" in try_name:
@ -1013,6 +1045,8 @@ def target_tasks_chromium_update(full_task_graph, parameters, graph_config):
"fetch-win32-chromium", "fetch-win32-chromium",
"fetch-win64-chromium", "fetch-win64-chromium",
"fetch-mac-chromium", "fetch-mac-chromium",
"toolchain-linux64-custom-car",
"toolchain-win64-custom-car",
] ]