Skip to content

Commit

Permalink
[reclient] Add builder for checking reclient configs.
Browse files Browse the repository at this point in the history
Add a cq presubmit builder that checks for the existence of proper reclient
config files in CIPD when tools/clang/scripts/update.py is changed.
This is to prevent reclient failures from missing configuration files.

Bug: b/202152628


[reclient] CQ builder for config deploy checking

Adds configuration for a presubmit_builder that checks for correct
reclient config deployment when updates to tools/clang/scripts/update.py
are made.

Bug: b/202152628
Change-Id: I9f267b670dcefe0c3a385d8e8e99ae68f0f01752
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3212907
Reviewed-by: Erik Staab <estaab@chromium.org>
Commit-Queue: Michael Savigny <msavigny@google.com>
Cr-Commit-Position: refs/heads/main@{#929346}
  • Loading branch information
MikeS-rec authored and Chromium LUCI CQ committed Oct 7, 2021
1 parent 59d935c commit 4eb2d49
Show file tree
Hide file tree
Showing 6 changed files with 146 additions and 0 deletions.
6 changes: 6 additions & 0 deletions infra/config/generated/cq-builders.md
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,12 @@ as required builders.
* [linux_chromium_tsan_rel_ng_rts](https://ci.chromium.org/p/chromium/builders/try/linux_chromium_tsan_rel_ng_rts) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+linux_chromium_tsan_rel_ng_rts)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+linux_chromium_tsan_rel_ng_rts))
* Experiment percentage: 5.0

* [reclient-config-deployment-verifier](https://ci.chromium.org/p/chromium/builders/try/reclient-config-deployment-verifier) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+reclient-config-deployment-verifier)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+reclient-config-deployment-verifier))
* Experiment percentage: 100.0

Path regular expressions:
* [`//tools/clang/scripts/update.py`](https://cs.chromium.org/search?q=package:%5Echromium$+file:tools/clang/scripts/update.py)

* [win10-rel-orchestrator](https://ci.chromium.org/p/chromium/builders/try/win10-rel-orchestrator) ([definition](https://cs.chromium.org/search?q=package:%5Echromium$+file:/cq.star$+-file:/beta/+-file:/stable/+win10-rel-orchestrator)) ([matching builders](https://cs.chromium.org/search?q=+file:trybots.py+win10-rel-orchestrator))
* Experiment percentage: 15.0

6 changes: 6 additions & 0 deletions infra/config/generated/luci/commit-queue.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1687,6 +1687,12 @@ config_groups {
name: "chromium/try/network_service_linux"
includable_only: true
}
builders {
name: "chromium/try/reclient-config-deployment-verifier"
disable_reuse: true
experiment_percentage: 100
location_regexp: ".+/[+]/tools/clang/scripts/update.py"
}
builders {
name: "chromium/try/tricium-metrics-analysis"
includable_only: true
Expand Down
98 changes: 98 additions & 0 deletions infra/config/generated/luci/cr-buildbucket.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -78530,6 +78530,104 @@ buckets {
}
}
}
builders {
name: "reclient-config-deployment-verifier"
swarming_host: "chromium-swarm.appspot.com"
swarming_tags: "vpython:native-python-wrapper"
dimensions: "builderless:1"
dimensions: "cores:8"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.chromium.try"
dimensions: "ssd:0"
exe {
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/main"
cmd: "luciexe"
}
properties:
'{'
' "$kitchen": {'
' "devshell": true,'
' "git_auth": true'
' },'
' "$recipe_engine/resultdb/test_presentation": {'
' "column_keys": [],'
' "grouping_keys": ['
' "status",'
' "v.test_suite"'
' ]'
' },'
' "fetch_script": "buildtools/reclient_cfgs/fetch_reclient_cfgs.py",'
' "rbe_project": ['
' {'
' "cfg_file": ['
' "buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux.cfg",'
' "buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_windows.cfg",'
' "buildtools/reclient_cfgs/nacl/rewrapper_linux.cfg",'
' "buildtools/reclient_cfgs/nacl/rewrapper_windows.cfg"'
' ],'
' "name": "rbe-chromium-trusted"'
' }'
' ],'
' "recipe": "reclient-config-deploy-check/tester"'
'}'
priority: 25
execution_timeout_secs: 14400
expiration_secs: 7200
grace_period {
seconds: 120
}
caches {
name: "win_toolchain"
path: "win_toolchain"
}
build_numbers: YES
service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
task_template_canary_percentage {
value: 5
}
experiments {
key: "chromium.chromium_tests.use_rdb_results"
value: 100
}
experiments {
key: "luci.use_realms"
value: 100
}
resultdb {
enable: true
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "try_test_results"
test_results {}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "gpu_try_test_results"
test_results {
predicate {
test_id_regexp: "ninja://(chrome/test:|content/test:fuchsia_)telemetry_gpu_integration_test[^/]*/.+"
}
}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "blink_web_tests_try_test_results"
test_results {
predicate {
test_id_regexp: "ninja://[^/]*blink_web_tests/.+"
}
}
}
history_options {
use_invocation_timestamp: true
}
}
}
builders {
name: "tricium-metrics-analysis"
swarming_host: "chromium-swarm.appspot.com"
Expand Down
9 changes: 9 additions & 0 deletions infra/config/generated/luci/luci-milo.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1698,6 +1698,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/chromium_presubmit"
}
builders {
name: "buildbucket/luci.chromium.try/reclient-config-deployment-verifier"
}
builder_view_only: true
}
consoles {
Expand Down Expand Up @@ -2601,6 +2604,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/mac_optional_gpu_tests_rel"
}
builders {
name: "buildbucket/luci.chromium.try/reclient-config-deployment-verifier"
}
builders {
name: "buildbucket/luci.chromium.try/win-libfuzzer-asan-rel"
}
Expand Down Expand Up @@ -14957,6 +14963,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/network_service_linux"
}
builders {
name: "buildbucket/luci.chromium.try/reclient-config-deployment-verifier"
}
builders {
name: "buildbucket/luci.chromium.try/tricium-metrics-analysis"
}
Expand Down
4 changes: 4 additions & 0 deletions infra/config/recipes.star
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,10 @@ build_recipe(
name = "recipe:presubmit",
)

build_recipe(
name = "recipe:reclient-config-deploy-check/tester",
)

build_recipe(
name = "recipe:reclient_goma_comparison",
)
Expand Down
23 changes: 23 additions & 0 deletions infra/config/subprojects/chromium/try.star
Original file line number Diff line number Diff line change
Expand Up @@ -2299,6 +2299,29 @@ try_.presubmit_builder(
),
)

try_.presubmit_builder(
name = "reclient-config-deployment-verifier",
executable = "recipe:reclient-config-deploy-check/tester",
properties = {
"fetch_script": "buildtools/reclient_cfgs/fetch_reclient_cfgs.py",
"rbe_project": [
{
"name": "rbe-chromium-trusted",
"cfg_file": [
"buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux.cfg",
"buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_windows.cfg",
"buildtools/reclient_cfgs/nacl/rewrapper_linux.cfg",
"buildtools/reclient_cfgs/nacl/rewrapper_windows.cfg",
],
},
],
},
tryjob = try_.job(
experiment_percentage = 100,
location_regexp = [r".+/[+]/tools/clang/scripts/update.py"],
),
)

try_.presubmit_builder(
name = "chromium_presubmit",
branch_selector = branches.ALL_BRANCHES,
Expand Down

0 comments on commit 4eb2d49

Please sign in to comment.