From 73b49ad4aa5f35418a86cb3e2152d4b63bd308e1 Mon Sep 17 00:00:00 2001 From: Austin Eng Date: Thu, 18 May 2023 00:23:27 +0000 Subject: [PATCH] Add Dawn android bots to CQ Currently runs only dawn_end2end_tests and its variants Bug: chromium:1363409 Change-Id: I4465caccb316e4d3db559c1f96fb2d4b07c8a812 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132700 Commit-Queue: Austin Eng Reviewed-by: Loko Kung Kokoro: Austin Eng --- .../config/global/generated/commit-queue.cfg | 15 +++++++ infra/config/global/main.star | 43 +++++++++++++++---- infra/config/global/milestones.json | 9 ++-- infra/config/scripts/milestones.py | 1 + 4 files changed, 57 insertions(+), 11 deletions(-) diff --git a/infra/config/global/generated/commit-queue.cfg b/infra/config/global/generated/commit-queue.cfg index a0f0f8f394..779c99e06e 100644 --- a/infra/config/global/generated/commit-queue.cfg +++ b/infra/config/global/generated/commit-queue.cfg @@ -29,6 +29,12 @@ config_groups { dry_run_access_list: "project-dawn-tryjob-access" } tryjob { + builders { + name: "chromium/try/android-dawn-arm-rel" + } + builders { + name: "chromium/try/android-dawn-arm64-rel" + } builders { name: "chromium/try/dawn-try-win10-x86-rel" includable_only: true @@ -107,6 +113,9 @@ config_groups { dry_run_access_list: "project-dawn-tryjob-access" } tryjob { + builders { + name: "chromium-m112/try/dawn-android-arm-deps-rel" + } builders { name: "chromium-m112/try/dawn-mac-x64-deps-rel" } @@ -182,6 +191,9 @@ config_groups { dry_run_access_list: "project-dawn-tryjob-access" } tryjob { + builders { + name: "chromium-m113/try/dawn-android-arm-deps-rel" + } builders { name: "chromium-m113/try/dawn-linux-x64-deps-rel" } @@ -260,6 +272,9 @@ config_groups { dry_run_access_list: "project-dawn-tryjob-access" } tryjob { + builders { + name: "chromium-m114/try/dawn-android-arm-deps-rel" + } builders { name: "chromium-m114/try/dawn-linux-x64-deps-rel" } diff --git a/infra/config/global/main.star b/infra/config/global/main.star index cb5e66d5a4..95043ae014 100755 --- a/infra/config/global/main.star +++ b/infra/config/global/main.star @@ -355,10 +355,12 @@ def dawn_standalone_builder(name, clang, debug, cpu, fuzzer = False): builder = "dawn:try/" + name, ) -def _add_branch_verifiers(builder_name, os, includable_only = False): +def _add_branch_verifiers(builder_name, os, min_milestone = None, includable_only = False): for milestone, details in ACTIVE_MILESTONES.items(): if os not in details.platforms: continue + if min_milestone != None and int(milestone[1:]) < min_milestone: + continue luci.cq_tryjob_verifier( cq_group = "Dawn-CQ-" + milestone, builder = "{}:try/{}".format(details.chromium_project, builder_name), @@ -367,24 +369,47 @@ def _add_branch_verifiers(builder_name, os, includable_only = False): # We use the DEPS version for branches because ToT builders do not make sense on # branches and the DEPS versions already exist. -_os_to_branch_builder = { +_os_arch_to_branch_builder = { "linux": "dawn-linux-x64-deps-rel", "mac": "dawn-mac-x64-deps-rel", "win": "dawn-win10-x64-deps-rel", + "android-arm": "dawn-android-arm-deps-rel", + "android-arm64": "dawn-android-arm64-deps-rel", } -def chromium_dawn_tryjob(os): +# The earliest milestone that the builder is relevant for +_os_arch_to_min_milestone = { + "linux": 112, + "mac": 112, + "win": 112, + "android-arm": 112, + "android-arm64": 115, +} + +def chromium_dawn_tryjob(os, arch = None): """Adds a tryjob that tests against Chromium Args: os: string for the OS, should be one or linux|mac|win + arch: string for the arch, or None """ - luci.cq_tryjob_verifier( - cq_group = "Dawn-CQ", - builder = "chromium:try/" + os + "-dawn-rel", - ) - _add_branch_verifiers(_os_to_branch_builder[os], os) + if arch: + luci.cq_tryjob_verifier( + cq_group = "Dawn-CQ", + builder = "chromium:try/{os}-dawn-{arch}-rel".format(os = os, arch = arch), + ) + _add_branch_verifiers( + _os_arch_to_branch_builder["{os}-{arch}".format(os = os, arch = arch)], + os, + _os_arch_to_min_milestone["{os}-{arch}".format(os = os, arch = arch)], + ) + else: + luci.cq_tryjob_verifier( + cq_group = "Dawn-CQ", + builder = "chromium:try/{}-dawn-rel".format(os), + ) + _add_branch_verifiers(_os_arch_to_branch_builder[os], os) luci.gitiles_poller( name = "primary-poller", @@ -437,6 +462,8 @@ dawn_standalone_builder("cron-linux-clang-rel-x64", True, False, "x64", True) chromium_dawn_tryjob("linux") chromium_dawn_tryjob("mac") chromium_dawn_tryjob("win") +chromium_dawn_tryjob("android", "arm") +chromium_dawn_tryjob("android", "arm64") luci.cq_tryjob_verifier( cq_group = "Dawn-CQ", diff --git a/infra/config/global/milestones.json b/infra/config/global/milestones.json index 87987eb149..1125f4321d 100644 --- a/infra/config/global/milestones.json +++ b/infra/config/global/milestones.json @@ -5,7 +5,8 @@ "ref": "refs/heads/chromium/5615", "platforms": [ "mac", - "win" + "win", + "android" ] }, "113": { @@ -15,7 +16,8 @@ "platforms": [ "linux", "mac", - "win" + "win", + "android" ] }, "114": { @@ -25,7 +27,8 @@ "platforms": [ "linux", "mac", - "win" + "win", + "android" ] } } \ No newline at end of file diff --git a/infra/config/scripts/milestones.py b/infra/config/scripts/milestones.py index 4fe71f73f6..497086b5a8 100755 --- a/infra/config/scripts/milestones.py +++ b/infra/config/scripts/milestones.py @@ -103,6 +103,7 @@ def add_milestone(milestones, milestone_num, branch): 'linux', 'mac', 'win', + 'android', ], }