commit 23a1f7521c6f631ddc95712338ff6309432eafca
parent fca5d629d71baf5c4f60bfe2577b0db73d1a9880
Author: Julien Cristau <jcristau@mozilla.com>
Date: Thu, 23 Oct 2025 16:48:27 +0000
Bug 1996025 - fix treeherder platform for update-test tasks. r=taskgraph-reviewers,benchatt,bhearsum DONTBUILD
Use the same "test-platform" values as in the "test" kinds, that
treeherder knows about. Map from that to worker type / docker image.
While I'm here, also move some win10 tasks to the -source worker pool
since these tasks need a gecko clone.
Differential Revision: https://phabricator.services.mozilla.com/D269767
Diffstat:
2 files changed, 52 insertions(+), 48 deletions(-)
diff --git a/taskcluster/gecko_taskgraph/transforms/update_test.py b/taskcluster/gecko_taskgraph/transforms/update_test.py
@@ -9,6 +9,7 @@ from enum import Enum
from taskgraph.transforms.base import TransformSequence
from taskgraph.util.copy import deepcopy
+from taskgraph.util.schema import resolve_keyed_by
from typing_extensions import final
from gecko_taskgraph.util.attributes import task_name
@@ -28,13 +29,8 @@ transforms = TransformSequence()
APPLICATIONS = ["fx"]
-DOCKER_TO_WORKER = {
- "ubuntu2404-test": "t-linux-docker-amd",
- "ubuntu1804-test": "t-linux-docker-amd",
-}
-DOCKER_TO_PLATFORM = {
- "ubuntu2404-test": "linux2404-64",
- "ubuntu1804-test": "linux1804-64",
+PLATFORM_TO_DOCKER = {
+ "linux2404-64-shippable": "ubuntu2404-test",
}
TOP_LOCALES = [
@@ -83,36 +79,32 @@ def set_task_configuration(config, tasks):
config_tasks[task_name(dep)] = dep
for task in tasks:
- for os in task["os"]:
+ for platform in task["test-platforms"]:
this_task = deepcopy(task)
if config_tasks:
- if "ubuntu" in os:
+ if "linux" in platform:
config_task = config_tasks["firefox-linux64"]
- elif "win" in os:
+ elif "win" in platform:
config_task = config_tasks["firefox-win64"]
- elif "osx" in os:
+ elif "osx" in platform:
config_task = config_tasks["firefox-macosx64"]
this_task.setdefault("fetches", {})[config_task.label] = [
"update-verify.cfg",
]
- if os in DOCKER_TO_WORKER:
- worker_type = DOCKER_TO_WORKER[os]
- platform = DOCKER_TO_PLATFORM.get(os)
+ if "linux" in platform:
this_task["worker"]["docker-image"] = {}
- this_task["worker"]["docker-image"]["in-tree"] = os
- else:
- worker_type = os
- platform = worker_type
+ this_task["worker"]["docker-image"]["in-tree"] = PLATFORM_TO_DOCKER[
+ platform
+ ]
this_task.setdefault("attributes", {})
this_task["attributes"]["build_platform"] = get_build_platform(platform)
name_segments = this_task["name"].split("-")
this_task["name"] = "-".join([platform, *name_segments[2:]])
this_task["description"] = f"Test updates on {platform}"
- this_task["worker-type"] = worker_type
this_task["treeherder"]["platform"] = f"{platform}/opt"
this_task["run"]["cwd"] = "{checkout}"
- del this_task["os"]
+ del this_task["test-platforms"]
if this_task["shipping-product"] == "firefox":
if release_type == ReleaseType.beta:
@@ -129,6 +121,13 @@ def set_task_configuration(config, tasks):
this_task["name"] = this_task["name"].replace("linux-docker-", "")
this_task["index"]["job-name"] = "update-test-" + this_task["name"]
+ resolve_keyed_by(
+ item=this_task,
+ field="worker-type",
+ item_name=this_task["name"],
+ **{"test-platform": platform},
+ )
+
for app in APPLICATIONS:
if f"-{app}" in this_task["name"]:
break
@@ -199,7 +198,7 @@ def parametrize_by_source_version(config, tasks):
def get_build_platform(platform):
build_platforms = {
"win": "win64-shippable",
- "t-o": "macosx64-shippable",
+ "mac": "macosx64-shippable",
"lin": "linux64-shippable",
}
return build_platforms[platform[:3]]
diff --git a/taskcluster/kinds/update-test/kind.yml b/taskcluster/kinds/update-test/kind.yml
@@ -42,18 +42,25 @@ task-defaults:
using: run-task
command: >-
./mach update-test
+ worker-type:
+ by-test-platform:
+ windows11-64-24h2-shippable: win11-64-24h2-source
+ windows10-64-2009-shippable-qr: win10-64-2009-source
+ macosx1500-aarch64-shippable: t-osx-1500-m4
+ macosx1470-64-shippable: t-osx-1400-r8
+ macosx1015-64-shippable-qr: t-osx-1015-r8
+ linux.*: t-linux-docker-amd
tasks:
update-test-locale-fx:
- os:
- - win11-64-24h2-source
- - win10-64-2009-source
- - t-osx-1500-m4
- - t-osx-1400-r8
- - t-osx-1015-r8
+ test-platforms:
+ - windows11-64-24h2-shippable
+ - windows10-64-2009-shippable-qr
+ - macosx1500-aarch64-shippable
+ - macosx1470-64-shippable
+ - macosx1015-64-shippable-qr
update-test-linux-docker-locale-fx:
- worker-type: t-linux-docker-amd
worker:
artifacts:
- type: directory
@@ -65,19 +72,18 @@ tasks:
run:
command: >-
. $HOME/scripts/xvfb.sh && start_xvfb '1600x1200x24' 0 && ./mach update-test
- os:
- - ubuntu2404-test
+ test-platforms:
+ - linux2404-64-shippable
update-test-source-version-fx:
- os:
- - win11-64-24h2-source
- - win10-64-2009
- - t-osx-1500-m4
- - t-osx-1400-r8
- - t-osx-1015-r8
+ test-platforms:
+ - windows11-64-24h2-shippable
+ - windows10-64-2009-shippable-qr
+ - macosx1500-aarch64-shippable
+ - macosx1470-64-shippable
+ - macosx1015-64-shippable-qr
update-test-linux-docker-source-version-fx:
- worker-type: t-linux-docker
worker:
artifacts:
- type: directory
@@ -89,22 +95,21 @@ tasks:
run:
command: >-
. $HOME/scripts/xvfb.sh && start_xvfb '1600x1200x24' 0 && ./mach update-test
- os:
- - ubuntu2404-test
+ test-platforms:
+ - linux2404-64-shippable
update-test-fx-bkg:
run:
command: >-
./mach update-test --test-type Background
- os:
- - win11-64-24h2-source
- - win10-64-2009
- - t-osx-1500-m4
- - t-osx-1400-r8
- - t-osx-1015-r8
+ test-platforms:
+ - windows11-64-24h2-shippable
+ - windows10-64-2009-shippable-qr
+ - macosx1500-aarch64-shippable
+ - macosx1470-64-shippable
+ - macosx1015-64-shippable-qr
update-test-linux-docker-fx-bkg:
- worker-type: t-linux-docker
worker:
artifacts:
- type: directory
@@ -116,5 +121,5 @@ tasks:
run:
command: >-
. $HOME/scripts/xvfb.sh && start_xvfb '1600x1200x24' 0 && ./mach update-test --test-type Background
- os:
- - ubuntu2404-test
+ test-platforms:
+ - linux2404-64-shippable