Convert Dawn to use Starlark script to generate configs

BUG=dawn:734

Change-Id: I293d04a7b585f5ffd6e91813607ff20b1935af58
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/52981
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
Ryan Harrison 2021-06-03 18:13:17 +00:00 committed by Dawn LUCI CQ
parent e93b4ada7e
commit fec575ca7b
10 changed files with 1123 additions and 539 deletions

View File

@ -1,382 +0,0 @@
# Defines buckets on cr-buildbucket.appspot.com, used to schedule builds
# on buildbot. In particular, CQ uses some of these buckets to schedule tryjobs.
#
# See http://luci-config.appspot.com/schemas/projects:cr-buildbucket.cfg for
# schema of this file and documentation.
#
# Please keep this list sorted by bucket name.
acl_sets {
name: "ci"
acls {
role: READER
group: "all"
}
acls {
role: SCHEDULER
identity: "luci-scheduler@appspot.gserviceaccount.com"
}
}
acl_sets {
name: "try"
acls {
role: READER
group: "all"
}
acls {
role: SCHEDULER
group: "project-dawn-tryjob-access"
}
acls {
role: SCHEDULER
group: "service-account-cq"
}
}
builder_mixins {
name: "clang"
recipe {
properties_j: "clang:true"
}
}
builder_mixins {
name: "no_clang"
recipe {
properties_j: "clang:false"
}
}
builder_mixins {
name: "release"
recipe {
properties_j: "debug:false"
}
}
builder_mixins {
name: "debug"
recipe {
properties_j: "debug:true"
}
}
builder_mixins {
name: "x86"
recipe {
properties: "target_cpu:x86"
}
}
builder_mixins {
name: "x64"
recipe {
properties: "target_cpu:x64"
}
}
builder_mixins {
name: "linux",
dimensions: "os:Ubuntu-18.04"
recipe {
properties_j: <<EOF
$build/goma: {
"enable_ats": true,
"rpc_extra_params": "?prod",
"server_host": "goma.chromium.org"
}
EOF
}
}
builder_mixins {
name: "windows",
dimensions: "os:Windows-10"
caches {
path: "win_toolchain"
name: "win_toolchain"
}
recipe {
properties_j: <<EOF
$build/goma: {
"enable_ats": true,
"rpc_extra_params": "?prod",
"server_host": "goma.chromium.org"
}
EOF
}
}
builder_mixins {
name: "mac"
dimensions: "os:Mac-10.15"
caches: { # cache for depot_tools.osx_sdk recipe module
name: "osx_sdk"
path: "osx_sdk"
}
recipe {
properties_j: <<EOF
$build/goma: {
"rpc_extra_params": "?prod",
"server_host": "goma.chromium.org"
}
EOF
}
}
builder_mixins {
name: "gen_fuzz_corpus"
recipe {
properties_j: "gen_fuzz_corpus:true"
}
}
buckets {
name: "luci.dawn.ci"
acl_sets: "ci"
swarming {
hostname: "chromium-swarm.appspot.com"
builder_defaults {
dimensions: "pool:luci.flex.ci"
# We have 32bit test configurations but some of our toolchain is 64bit (like CIPD)
dimensions: "cpu:x86-64"
recipe {
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
name: "dawn"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
# Linux: test combinations of {clang}x{release,debug}x{x86,x64}
builders {
name: "linux-clang-dbg-x64"
mixins: "linux"
mixins: "clang"
mixins: "debug"
mixins: "x64"
}
builders {
name: "linux-clang-dbg-x86"
mixins: "linux"
mixins: "clang"
mixins: "debug"
mixins: "x86"
}
builders {
name: "linux-clang-rel-x64"
mixins: "linux"
mixins: "clang"
mixins: "release"
mixins: "x64"
}
builders {
name: "linux-clang-rel-x86"
mixins: "linux"
mixins: "clang"
mixins: "release"
mixins: "x86"
}
# Mac: unlike Linux we only need to test x64 (and only clang too)
builders {
name: "mac-dbg"
mixins: "mac"
mixins: "clang"
mixins: "debug"
mixins: "x64"
}
builders {
name: "mac-rel"
mixins: "mac"
mixins: "clang"
mixins: "release"
mixins: "x64"
}
# Windows: test combinations of {clang,msvc}x{release,debug}x{x86,x64}
# but limit msvc to x64
builders {
name: "win-clang-dbg-x64"
mixins: "windows"
mixins: "clang"
mixins: "debug"
mixins: "x64"
}
builders {
name: "win-clang-dbg-x86"
mixins: "windows"
mixins: "clang"
mixins: "debug"
mixins: "x86"
}
builders {
name: "win-clang-rel-x64"
mixins: "windows"
mixins: "clang"
mixins: "release"
mixins: "x64"
}
builders {
name: "win-clang-rel-x86"
mixins: "windows"
mixins: "clang"
mixins: "release"
mixins: "x86"
}
# GOMA doesn't support MSVC builds so we don't used the "windows" mixin and
# instead list the dimensions: "os:Windows-10" directly.
builders {
name: "win-msvc-dbg-x64"
dimensions: "os:Windows-10"
mixins: "no_clang"
mixins: "debug"
mixins: "x64"
}
builders {
name: "win-msvc-rel-x64"
dimensions: "os:Windows-10"
mixins: "no_clang"
mixins: "release"
mixins: "x64"
}
builders {
name: "cron-linux-clang-rel-x64"
mixins: "linux"
mixins: "clang"
mixins: "release"
mixins: "x64"
mixins: "gen_fuzz_corpus"
}
}
}
buckets: {
name: "luci.dawn.try"
acl_sets: "try"
swarming {
hostname: "chromium-swarm.appspot.com"
builder_defaults {
dimensions: "pool:luci.flex.try"
# We have 32bit test configurations but some of our toolchain is 64bit (like CIPD)
dimensions: "cpu:x86-64"
recipe {
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
name: "dawn"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "presubmit"
dimensions: "os:Ubuntu-18.04"
recipe {
name: "run_presubmit"
properties: "repo_name:dawn"
properties_j: "runhooks:true"
}
}
# A subset of the CI configurations are used for the CQ. We still mirror
# the CI builders here so we can trigger tryjobs on their specific
# configuration.
# CI Mirror only
builders {
name: "linux-clang-dbg-x64"
mixins: "linux"
mixins: "clang"
mixins: "debug"
mixins: "x64"
}
# Actually on the CQ
builders {
name: "linux-clang-dbg-x86"
mixins: "linux"
mixins: "clang"
mixins: "debug"
mixins: "x86"
}
# Actually on the CQ
builders {
name: "linux-clang-rel-x64"
mixins: "linux"
mixins: "clang"
mixins: "release"
mixins: "x64"
}
# Actually on the CQ
builders {
name: "linux-clang-rel-x86"
mixins: "linux"
mixins: "clang"
mixins: "release"
mixins: "x86"
}
# Actually on the CQ
builders {
name: "mac-dbg"
mixins: "clang"
mixins: "mac"
mixins: "debug"
mixins: "x64"
}
# Actually on the CQ
builders {
name: "mac-rel"
mixins: "clang"
mixins: "mac"
mixins: "release"
mixins: "x64"
}
# Actually on the CQ
builders {
name: "win-clang-dbg-x64"
mixins: "windows"
mixins: "clang"
mixins: "debug"
mixins: "x64"
}
# Actually on the CQ
builders {
name: "win-clang-dbg-x86"
mixins: "windows"
mixins: "clang"
mixins: "debug"
mixins: "x86"
}
# Actually on the CQ
builders {
name: "win-clang-rel-x64"
mixins: "windows"
mixins: "clang"
mixins: "release"
mixins: "x64"
}
# CI Mirror only
builders {
name: "win-clang-rel-x86"
mixins: "windows"
mixins: "clang"
mixins: "release"
mixins: "x86"
}
# GOMA doesn't support MSVC builds so we don't used the "windows" mixin and
# instead list the dimensions: "os:Windows-10" directly.
builders {
name: "win-msvc-dbg-x64"
dimensions: "os:Windows-10"
mixins: "no_clang"
mixins: "debug"
mixins: "x64"
}
builders {
name: "win-msvc-rel-x64"
dimensions: "os:Windows-10"
mixins: "no_clang"
mixins: "release"
mixins: "x64"
}
}
}

View File

@ -1,81 +1,87 @@
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Config message:
# https://luci-config.appspot.com/schemas/projects:commit-queue.cfg
cq_status_host: "chromium-cq-status.appspot.com"
submit_options: <
submit_options {
max_burst: 4
burst_delay: <
burst_delay {
seconds: 480
>
>
config_groups: <
}
}
config_groups {
name: "Dawn-CQ"
gerrit: <
gerrit {
url: "https://dawn-review.googlesource.com"
projects: <
projects {
name: "dawn"
ref_regexp: "refs/heads/.+"
>
>
verifiers: <
gerrit_cq_ability: <
}
}
verifiers {
gerrit_cq_ability {
committer_list: "project-dawn-committers"
dry_run_access_list: "project-dawn-tryjob-access"
>
tryjob: <
builders: <
}
tryjob {
builders {
name: "chromium/try/linux-dawn-rel"
>
builders: <
}
builders {
name: "chromium/try/mac-dawn-rel"
>
builders: <
}
builders {
name: "chromium/try/win-dawn-rel"
>
builders: <
}
builders {
name: "dawn/try/linux-clang-dbg-x64"
>
builders: <
}
builders {
name: "dawn/try/linux-clang-dbg-x86"
>
builders: <
}
builders {
name: "dawn/try/linux-clang-rel-x64"
>
builders: <
}
builders {
name: "dawn/try/linux-clang-rel-x86"
>
builders: <
}
builders {
name: "dawn/try/mac-dbg"
>
builders: <
}
builders {
name: "dawn/try/mac-rel"
>
builders: <
}
builders {
name: "dawn/try/presubmit"
disable_reuse: true
>
builders: <
}
builders {
name: "dawn/try/win-clang-dbg-x64"
>
builders: <
}
builders {
name: "dawn/try/win-clang-dbg-x86"
>
builders: <
}
builders {
name: "dawn/try/win-clang-rel-x64"
>
builders: <
}
builders {
name: "dawn/try/win-clang-rel-x86"
>
builders: <
}
builders {
name: "dawn/try/win-msvc-dbg-x64"
>
builders: <
}
builders {
name: "dawn/try/win-msvc-rel-x64"
>
retry_config: <
}
retry_config {
single_quota: 1
global_quota: 2
failure_weight: 1
transient_failure_weight: 1
timeout_weight: 2
>
>
>
>
}
}
}
}

View File

@ -0,0 +1,532 @@
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see BuildbucketCfg message:
# https://luci-config.appspot.com/schemas/projects:buildbucket.cfg
buckets {
name: "ci"
acls {
group: "all"
}
acls {
role: SCHEDULER
identity: "user:luci-scheduler@appspot.gserviceaccount.com"
}
swarming {
builders {
name: "cron-linux-clang-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "gen_fuzz_corpus:true"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-dbg-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x86\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-rel-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x86\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "mac-dbg"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Mac-10.15"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "osx_sdk"
path: "osx_sdk"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "mac-rel"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Mac-10.15"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "osx_sdk"
path: "osx_sdk"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-dbg-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x86\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-rel-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x86\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-msvc-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "clang:false"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-msvc-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.ci"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "clang:false"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
}
}
}
buckets {
name: "try"
acls {
group: "all"
}
acls {
role: SCHEDULER
group: "project-dawn-tryjob-access"
}
acls {
role: SCHEDULER
group: "service-account-cq"
}
swarming {
builders {
name: "linux-clang-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-dbg-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x86\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "linux-clang-rel-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x86\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "mac-dbg"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Mac-10.15"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "osx_sdk"
path: "osx_sdk"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "mac-rel"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Mac-10.15"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "osx_sdk"
path: "osx_sdk"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "presubmit"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.flex.try"
recipe {
name: "run_presubmit"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "repo_name:\"dawn\""
properties_j: "runhooks:true"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-dbg-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:true"
properties_j: "target_cpu:\"x86\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-clang-rel-x86"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$build/goma:{\"enable_ats\":true,\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\"}"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:true"
properties_j: "debug:false"
properties_j: "target_cpu:\"x86\""
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-msvc-dbg-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:false"
properties_j: "debug:true"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
builders {
name: "win-msvc-rel-x64"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86-64"
dimensions: "os:Windows-10"
dimensions: "pool:luci.flex.try"
recipe {
name: "dawn"
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/master"
properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
properties_j: "clang:false"
properties_j: "debug:false"
properties_j: "target_cpu:\"x64\""
}
service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
}
}
}

View File

@ -0,0 +1,9 @@
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see ProjectConfig message:
# https://luci-config.appspot.com/schemas/projects:luci-logdog.cfg
reader_auth_groups: "all"
writer_auth_groups: "luci-logdog-chromium-writers"
archive_gs_bucket: "chromium-luci-logdog"

View File

@ -1,11 +1,15 @@
logo_url: "https://storage.googleapis.com/chrome-infra-public/logo/dawn-logo.png"
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Project message:
# https://luci-config.appspot.com/schemas/projects:luci-milo.cfg
consoles {
id: "ci"
name: "Dawn CI Builders"
repo_url: "https://dawn.googlesource.com/dawn"
refs: "refs/heads/main"
refs: "regexp:refs/heads/main"
manifest_name: "REVISION"
builders {
name: "buildbucket/luci.dawn.ci/linux-clang-dbg-x64"
category: "linux|clang|dbg"
@ -26,7 +30,6 @@ consoles {
category: "linux|clang|rel"
short_name: "x86"
}
builders {
name: "buildbucket/luci.dawn.ci/mac-dbg"
category: "mac"
@ -37,7 +40,6 @@ consoles {
category: "mac"
short_name: "rel"
}
builders {
name: "buildbucket/luci.dawn.ci/win-clang-dbg-x64"
category: "win|clang|dbg"
@ -68,24 +70,18 @@ consoles {
category: "win|msvc"
short_name: "rel"
}
builders {
name: "buildbucket/luci.dawn.ci/cron-linux-clang-rel-x64"
category: "cron|linux|clang|rel"
short_name: "x64"
}
}
consoles {
id: "try"
name: "Dawn try Builders"
manifest_name: "PATCHED"
builder_view_only: true
builders {
name: "buildbucket/luci.dawn.try/presubmit"
}
builders {
name: "buildbucket/luci.dawn.try/linux-clang-dbg-x64"
}
@ -98,14 +94,12 @@ consoles {
builders {
name: "buildbucket/luci.dawn.try/linux-clang-rel-x86"
}
builders {
name: "buildbucket/luci.dawn.try/mac-dbg"
}
builders {
name: "buildbucket/luci.dawn.try/mac-rel"
}
builders {
name: "buildbucket/luci.dawn.try/win-clang-dbg-x64"
}
@ -124,4 +118,6 @@ consoles {
builders {
name: "buildbucket/luci.dawn.try/win-msvc-rel-x64"
}
builder_view_only: true
}
logo_url: "https://storage.googleapis.com/chrome-infra-public/logo/dawn-logo.png"

View File

@ -1,47 +1,23 @@
# Defines jobs on luci-scheduler.appspot.com.
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For schema of this file and documentation see ProjectConfig message in
#
# https://chromium.googlesource.com/infra/luci/luci-go/+/master/scheduler/appengine/messages/cron.proto
acl_sets {
name: "default"
acls {
role: READER
granted_to: "group:all"
}
acls {
role: OWNER
granted_to: "group:project-dawn-admins"
}
}
trigger {
id: "primary-poller"
acl_sets: "default"
gitiles {
repo: "https://dawn.googlesource.com/dawn.git"
refs: "refs/heads/main"
}
triggers: "linux-clang-dbg-x64"
triggers: "linux-clang-rel-x64"
triggers: "linux-clang-dbg-x86"
triggers: "linux-clang-rel-x86"
triggers: "mac-dbg"
triggers: "mac-rel"
triggers: "win-clang-dbg-x64"
triggers: "win-clang-rel-x64"
triggers: "win-clang-dbg-x86"
triggers: "win-clang-rel-x86"
triggers: "win-msvc-dbg-x64"
triggers: "win-msvc-rel-x64"
}
# For the schema of this file, see ProjectConfig message:
# https://luci-config.appspot.com/schemas/projects:luci-scheduler.cfg
job {
id: "cron-linux-clang-rel-x64"
schedule: "0 0 0 * * * *"
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "cron-linux-clang-rel-x64"
}
}
job {
id: "linux-clang-dbg-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "linux-clang-dbg-x64"
@ -49,8 +25,8 @@ job {
}
job {
id: "linux-clang-dbg-x86"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "linux-clang-dbg-x86"
@ -58,8 +34,8 @@ job {
}
job {
id: "linux-clang-rel-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "linux-clang-rel-x64"
@ -67,18 +43,17 @@ job {
}
job {
id: "linux-clang-rel-x86"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "linux-clang-rel-x86"
}
}
job {
id: "mac-dbg"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "mac-dbg"
@ -86,18 +61,17 @@ job {
}
job {
id: "mac-rel"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "mac-rel"
}
}
job {
id: "win-clang-dbg-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-clang-dbg-x64"
@ -105,8 +79,8 @@ job {
}
job {
id: "win-clang-dbg-x86"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-clang-dbg-x86"
@ -114,8 +88,8 @@ job {
}
job {
id: "win-clang-rel-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-clang-rel-x64"
@ -123,8 +97,8 @@ job {
}
job {
id: "win-clang-rel-x86"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-clang-rel-x86"
@ -132,8 +106,8 @@ job {
}
job {
id: "win-msvc-dbg-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-msvc-dbg-x64"
@ -141,21 +115,40 @@ job {
}
job {
id: "win-msvc-rel-x64"
acl_sets: "default"
buildbucket: {
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "win-msvc-rel-x64"
}
}
job {
id: "cron-linux-clang-rel-x64"
schedule: "0 0 0 * * * *"
acl_sets: "default"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.dawn.ci"
builder: "cron-linux-clang-rel-x64"
trigger {
id: "primary-poller"
acl_sets: "ci"
triggers: "linux-clang-dbg-x64"
triggers: "linux-clang-dbg-x86"
triggers: "linux-clang-rel-x64"
triggers: "linux-clang-rel-x86"
triggers: "mac-dbg"
triggers: "mac-rel"
triggers: "win-clang-dbg-x64"
triggers: "win-clang-dbg-x86"
triggers: "win-clang-rel-x64"
triggers: "win-clang-rel-x86"
triggers: "win-msvc-dbg-x64"
triggers: "win-msvc-rel-x64"
gitiles {
repo: "https://dawn.googlesource.com/dawn"
refs: "regexp:refs/heads/main"
}
}
acl_sets {
name: "ci"
acls {
role: OWNER
granted_to: "group:project-dawn-admins"
}
acls {
granted_to: "group:all"
}
}

View File

@ -0,0 +1,8 @@
# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see ProjectCfg message:
# https://luci-config.appspot.com/schemas/projects:project.cfg
name: "dawn"
access: "group:all"

View File

@ -1,17 +0,0 @@
# Copyright (c) 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# For the schema of this file and documentation, see ProjectConfig message in
# https://luci-config.appspot.com/schemas/services/luci-logdog:logdog.cfg
# Auth groups who can read log streams.
reader_auth_groups: "all"
# Auth groups who can register and emit new log streams.
writer_auth_groups: "luci-logdog-chromium-writers"
# The base Google Storage archival path for this project.
#
# Archived LogDog logs will be written to this bucket/path.
archive_gs_bucket: "chromium-luci-logdog"

View File

@ -0,0 +1,443 @@
#!/usr/bin/env lucicfg
#
# Copyright 2021 The Dawn Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
"""
main.star: lucicfg configuration for Dawn's standalone builers.
"""
lucicfg.config(fail_on_warnings = True)
luci.project(
name = "dawn",
buildbucket = "cr-buildbucket.appspot.com",
logdog = "luci-logdog.appspot.com",
milo = "luci-milo.appspot.com",
notify = "luci-notify.appspot.com",
scheduler = "luci-scheduler.appspot.com",
swarming = "chromium-swarm.appspot.com",
acls = [
acl.entry(
roles = [
acl.PROJECT_CONFIGS_READER,
acl.LOGDOG_READER,
acl.BUILDBUCKET_READER,
acl.SCHEDULER_READER,
],
groups = "all",
),
acl.entry(
roles = [
acl.SCHEDULER_OWNER,
],
groups = "project-dawn-admins",
),
acl.entry(
roles = [
acl.LOGDOG_WRITER,
],
groups = "luci-logdog-chromium-writers",
),
],
)
luci.logdog(gs_bucket = "chromium-luci-logdog")
luci.bucket(
name = "ci",
acls = [
acl.entry(
roles = [
acl.BUILDBUCKET_READER,
],
groups = "all",
),
acl.entry(
acl.BUILDBUCKET_TRIGGERER,
users = [
"luci-scheduler@appspot.gserviceaccount.com",
],
),
],
)
luci.bucket(
name = "try",
acls = [
acl.entry(
acl.BUILDBUCKET_TRIGGERER,
groups = [
"project-dawn-tryjob-access",
"service-account-cq",
],
),
],
)
os_category = struct(
LINUX = "Linux",
MAC = "Mac",
WINDOWS = "Windows",
)
def os_enum(dimension, category, console_name):
return struct(dimension = dimension, category = category, console_name = console_name)
os = struct(
LINUX = os_enum("Ubuntu-18.04", os_category.LINUX, "linux"),
MAC = os_enum("Mac-10.15", os_category.MAC, "mac"),
WINDOWS = os_enum("Windows-10", os_category.WINDOWS, "win"),
)
# Recipes
def get_builder_executable():
"""Get standard executable for builders
Returns:
A luci.recipe
"""
return luci.recipe(
name = "dawn",
cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
cipd_version = "refs/heads/master",
)
def get_presubmit_executable():
"""Get standard executable for presubmit
Returns:
A luci.recipe
"""
return luci.recipe(
name = "run_presubmit",
cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
cipd_version = "refs/heads/master",
)
def get_os_from_arg(arg):
"""Get OS enum for a builder name string
Args:
arg: builder name string to get enum for
Returns:
An OS enum struct
"""
if arg.find("linux") != -1:
return os.LINUX
if arg.find("win") != -1:
return os.WINDOWS
if arg.find("mac") != -1:
return os.MAC
return os.MAC
def get_default_caches(os, clang):
"""Get standard caches for builders
Args:
os: OS enum for the builder
clang: is this builder running clang
Returns:
A list of caches
"""
caches = []
if os.category == os_category.WINDOWS and clang:
caches.append(swarming.cache(name = "win_toolchain", path = "win_toolchain"))
elif os.category == os_category.MAC:
# Cache for mac_toolchain tool and XCode.app
caches.append(swarming.cache(name = "osx_sdk", path = "osx_sdk"))
return caches
def get_default_dimensions(os):
"""Get dimensions for a builder that don't depend on being CI vs Try
Args:
os: OS enum for the builder
Returns:
A dimension dict
"""
dimensions = {}
# We have 32bit test configurations but some of our toolchain is 64bit (like CIPD)
dimensions["cpu"] = "x86-64"
dimensions["os"] = os.dimension
return dimensions
def get_default_properties(os, clang, debug, cpu, fuzzer):
"""Get the properties for a builder that don't depend on being CI vs Try
Args:
os: OS enum for the builder
clang: is this builder running clang
debug: is this builder generating debug builds
cpu: string representing the target CPU architecture
fuzzer: is this builder running the fuzzers
Returns:
A properties dict
"""
properties = {}
properties["debug"] = debug
properties["target_cpu"] = cpu
properties["clang"] = clang
msvc = os.category == os_category.WINDOWS and not clang
if fuzzer:
properties["gen_fuzz_corpus"] = True
if not msvc:
goma_props = {}
goma_props.update({
"server_host": "goma.chromium.org",
"rpc_extra_params": "?prod",
})
if os.category != os_category.MAC:
goma_props["enable_ats"] = True
properties["$build/goma"] = goma_props
return properties
def add_ci_builder(name, os, clang, debug, cpu, fuzzer):
"""Add a CI builder
Args:
name: builder's name in string form
os: OS enum for the builder
clang: is this builder running clang
debug: is this builder generating debug builds
cpu: string representing the target CPU architecture
fuzzer: is this builder running the fuzzers
"""
dimensions_ci = get_default_dimensions(os)
dimensions_ci["pool"] = "luci.flex.ci"
properties_ci = get_default_properties(os, clang, debug, cpu, fuzzer)
schedule_ci = None
if fuzzer:
schedule_ci = "0 0 0 * * * *"
triggered_by_ci = None
if not fuzzer:
triggered_by_ci = ["primary-poller"]
luci.builder(
name = name,
bucket = "ci",
schedule = schedule_ci,
triggered_by = triggered_by_ci,
executable = get_builder_executable(),
properties = properties_ci,
dimensions = dimensions_ci,
caches = get_default_caches(os, clang),
service_account = "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
)
def add_try_builder(name, os, clang, debug, cpu, fuzzer):
"""Add a Try builder
Args:
name: builder's name in string form
os: OS enum for the builder
clang: is this builder running clang
debug: is this builder generating debug builds
cpu: string representing the target CPU architecture
fuzzer: is this builder running the fuzzers
"""
dimensions_try = get_default_dimensions(os)
dimensions_try["pool"] = "luci.flex.try"
properties_try = get_default_properties(os, clang, debug, cpu, fuzzer)
properties_try["$depot_tools/bot_update"] = {
"apply_patch_on_gclient": True,
}
luci.builder(
name = name,
bucket = "try",
executable = get_builder_executable(),
properties = properties_try,
dimensions = dimensions_try,
caches = get_default_caches(os, clang),
service_account = "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com",
)
def dawn_standalone_builder(name, clang, debug, cpu, fuzzer = False):
"""Adds both the CI and Try standalone builders as appropriate
Args:
name: builder's name in string form
clang: is this builder running clang
debug: is this builder generating debug builds
cpu: string representing the target CPU architecture
fuzzer: enable building fuzzer corpus
"""
os = get_os_from_arg(name)
add_ci_builder(name, os, clang, debug, cpu, fuzzer)
if not fuzzer:
add_try_builder(name, os, clang, debug, cpu, fuzzer)
config = ""
if clang:
config = "clang"
elif os.category == os_category.WINDOWS:
config = "msvc"
category = ""
if fuzzer:
category += "cron|"
category += os.console_name
if os.category != os_category.MAC:
category += "|" + config
if config != "msvc":
category += "|dbg" if debug else "|rel"
short_name = "dbg" if debug else "rel"
if os.category != os_category.MAC:
if config != "msvc":
short_name = cpu
luci.console_view_entry(
console_view = "ci",
builder = "ci/" + name,
category = category,
short_name = short_name,
)
if not fuzzer:
luci.list_view_entry(
list_view = "try",
builder = "try/" + name,
)
luci.cq_tryjob_verifier(
cq_group = "Dawn-CQ",
builder = "dawn:try/" + name,
)
def chromium_dawn_tryjob(os):
"""Adds a tryjob that tests against Chromium
Args:
os: string for the OS, should be one or linux|mac|win
"""
luci.cq_tryjob_verifier(
cq_group = "Dawn-CQ",
builder = "chromium:try/" + os + "-dawn-rel",
)
luci.gitiles_poller(
name = "primary-poller",
bucket = "ci",
repo = "https://dawn.googlesource.com/dawn",
refs = [
"refs/heads/main",
],
)
luci.list_view_entry(
list_view = "try",
builder = "try/presubmit",
)
luci.builder(
name = "presubmit",
bucket = "try",
executable = get_presubmit_executable(),
dimensions = {
"cpu": "x86-64",
"os": os.LINUX.dimension,
"pool": "luci.flex.try",
},
properties = {
"repo_name": "dawn",
"runhooks": True,
"$depot_tools/bot_update": {
"apply_patch_on_gclient": True,
},
},
service_account = "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com",
)
# name, clang, debug, cpu(, fuzzer)
dawn_standalone_builder("linux-clang-dbg-x64", True, True, "x64")
dawn_standalone_builder("linux-clang-dbg-x86", True, True, "x86")
dawn_standalone_builder("linux-clang-rel-x64", True, False, "x64")
dawn_standalone_builder("linux-clang-rel-x86", True, False, "x86")
dawn_standalone_builder("mac-dbg", True, True, "x64")
dawn_standalone_builder("mac-rel", True, False, "x64")
dawn_standalone_builder("win-clang-dbg-x64", True, True, "x64")
dawn_standalone_builder("win-clang-dbg-x86", True, True, "x86")
dawn_standalone_builder("win-clang-rel-x64", True, False, "x64")
dawn_standalone_builder("win-clang-rel-x86", True, False, "x86")
dawn_standalone_builder("win-msvc-dbg-x64", False, True, "x64")
dawn_standalone_builder("win-msvc-rel-x64", False, False, "x64")
dawn_standalone_builder("cron-linux-clang-rel-x64", True, False, "x64", True)
chromium_dawn_tryjob("linux")
chromium_dawn_tryjob("mac")
chromium_dawn_tryjob("win")
# Views
luci.milo(
logo = "https://storage.googleapis.com/chrome-infra-public/logo/dawn-logo.png",
)
luci.console_view(
name = "ci",
title = "Dawn CI Builders",
repo = "https://dawn.googlesource.com/dawn",
refs = ["refs/heads/main"],
)
luci.list_view(
name = "try",
title = "Dawn try Builders",
)
# CQ
luci.cq(
status_host = "chromium-cq-status.appspot.com",
submit_max_burst = 4,
submit_burst_delay = 480 * time.second,
)
luci.cq_group(
name = "Dawn-CQ",
watch = cq.refset(
"https://dawn.googlesource.com/dawn",
refs = ["refs/heads/.+"],
),
acls = [
acl.entry(
acl.CQ_COMMITTER,
groups = "project-dawn-committers",
),
acl.entry(
acl.CQ_DRY_RUNNER,
groups = "project-dawn-tryjob-access",
),
],
verifiers = [
luci.cq_tryjob_verifier(
builder = "dawn:try/presubmit",
disable_reuse = True,
),
],
retry_config = cq.retry_config(
single_quota = 1,
global_quota = 2,
failure_weight = 1,
transient_failure_weight = 1,
timeout_weight = 2,
),
)

View File

@ -1,4 +0,0 @@
# For the schema of this file and documentation, see ProjectCfg message in
# https://luci-config.appspot.com/schemas/projects:project.cfg
name: "dawn"
access: "group:all" # The project is public, everybody can see build results.