diff --git a/infra/config/config.star b/infra/config/config.star index 74b0bad3ac..c66d23b779 100755 --- a/infra/config/config.star +++ b/infra/config/config.star @@ -712,6 +712,8 @@ android_builder("Android32 Builder arm", "Android|arm|size", perf_cat = "Android android_try_job("android_compile_arm_rel") perf_builder("Perf Android32 (M Nexus5)", "Android|arm|Tester|M Nexus5", triggered_by = ["Android32 Builder arm"]) perf_builder("Perf Android32 (M AOSP Nexus6)", "Android|arm|Tester|M AOSP Nexus6", triggered_by = ["Android32 Builder arm"]) +perf_builder("Perf Android32 (O Pixel2)", "Android|arm|Tester|O Pixel2", triggered_by = ["Android32 Builder arm"]) +perf_builder("Perf Android32 (R Pixel5)", "Android|arm|Tester|R Pixel5", triggered_by = ["Android32 Builder arm"]) android_try_job("android_compile_arm64_dbg", cq = None) android_try_job("android_arm64_dbg", cq = None) android_builder("Android64 (M Nexus5X)", "Android|arm64|rel") diff --git a/infra/config/cr-buildbucket.cfg b/infra/config/cr-buildbucket.cfg index 7c7823f97c..761b2a49d2 100644 --- a/infra/config/cr-buildbucket.cfg +++ b/infra/config/cr-buildbucket.cfg @@ -2581,6 +2581,104 @@ buckets { } } } + builders { + name: "Perf Android32 (O Pixel2)" + swarming_host: "chromium-swarm.appspot.com" + swarming_tags: "vpython:native-python-wrapper" + dimensions: "os:Linux" + dimensions: "pool:luci.webrtc.perf" + exe { + cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" + cipd_version: "refs/heads/main" + cmd: "luciexe" + } + properties: + '{' + ' "$build/goma": {' + ' "server_host": "goma.chromium.org",' + ' "use_luci_auth": true' + ' },' + ' "$build/reclient": {' + ' "instance": "rbe-webrtc-trusted",' + ' "metrics_project": "chromium-reclient-metrics"' + ' },' + ' "$recipe_engine/resultdb/test_presentation": {' + ' "column_keys": [],' + ' "grouping_keys": [' + ' "status",' + ' "v.test_suite"' + ' ]' + ' },' + ' "builder_group": "client.webrtc.perf",' + ' "recipe": "webrtc/standalone"' + '}' + priority: 30 + execution_timeout_secs: 10800 + build_numbers: YES + service_account: "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + experiments { + key: "luci.recipes.use_python3" + value: 100 + } + resultdb { + enable: true + bq_exports { + project: "webrtc-ci" + dataset: "resultdb" + table: "perf_test_results" + test_results {} + } + } + } + builders { + name: "Perf Android32 (R Pixel5)" + swarming_host: "chromium-swarm.appspot.com" + swarming_tags: "vpython:native-python-wrapper" + dimensions: "os:Linux" + dimensions: "pool:luci.webrtc.perf" + exe { + cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" + cipd_version: "refs/heads/main" + cmd: "luciexe" + } + properties: + '{' + ' "$build/goma": {' + ' "server_host": "goma.chromium.org",' + ' "use_luci_auth": true' + ' },' + ' "$build/reclient": {' + ' "instance": "rbe-webrtc-trusted",' + ' "metrics_project": "chromium-reclient-metrics"' + ' },' + ' "$recipe_engine/resultdb/test_presentation": {' + ' "column_keys": [],' + ' "grouping_keys": [' + ' "status",' + ' "v.test_suite"' + ' ]' + ' },' + ' "builder_group": "client.webrtc.perf",' + ' "recipe": "webrtc/standalone"' + '}' + priority: 30 + execution_timeout_secs: 10800 + build_numbers: YES + service_account: "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + experiments { + key: "luci.recipes.use_python3" + value: 100 + } + resultdb { + enable: true + bq_exports { + project: "webrtc-ci" + dataset: "resultdb" + table: "perf_test_results" + test_results {} + } + } + } builders { name: "Perf Android64 (M Nexus5X)" swarming_host: "chromium-swarm.appspot.com" diff --git a/infra/config/luci-milo.cfg b/infra/config/luci-milo.cfg index 7a5527ada5..6f2b8bdac1 100644 --- a/infra/config/luci-milo.cfg +++ b/infra/config/luci-milo.cfg @@ -304,6 +304,16 @@ consoles { category: "Android|arm|Tester" short_name: "M AOSP Nexus6" } + builders { + name: "buildbucket/luci.webrtc.perf/Perf Android32 (O Pixel2)" + category: "Android|arm|Tester" + short_name: "O Pixel2" + } + builders { + name: "buildbucket/luci.webrtc.perf/Perf Android32 (R Pixel5)" + category: "Android|arm|Tester" + short_name: "R Pixel5" + } builders { name: "buildbucket/luci.webrtc.perf/Android64 Builder arm64" category: "Android|arm64|Builder" diff --git a/infra/config/luci-notify.cfg b/infra/config/luci-notify.cfg index c0ff19dbf3..3a33b239cc 100644 --- a/infra/config/luci-notify.cfg +++ b/infra/config/luci-notify.cfg @@ -1273,6 +1273,50 @@ notifiers { repository: "https://webrtc.googlesource.com/src" } } +notifiers { + notifications { + on_new_status: INFRA_FAILURE + email { + recipients: "webrtc-troopers-robots@google.com" + } + template: "infra_failure" + } + notifications { + on_new_status: FAILURE + email { + recipients: "webrtc-troopers-robots@google.com" + } + template: "build_failure" + notify_blamelist {} + } + builders { + bucket: "perf" + name: "Perf Android32 (O Pixel2)" + repository: "https://webrtc.googlesource.com/src" + } +} +notifiers { + notifications { + on_new_status: INFRA_FAILURE + email { + recipients: "webrtc-troopers-robots@google.com" + } + template: "infra_failure" + } + notifications { + on_new_status: FAILURE + email { + recipients: "webrtc-troopers-robots@google.com" + } + template: "build_failure" + notify_blamelist {} + } + builders { + bucket: "perf" + name: "Perf Android32 (R Pixel5)" + repository: "https://webrtc.googlesource.com/src" + } +} notifiers { notifications { on_new_status: INFRA_FAILURE diff --git a/infra/config/luci-scheduler.cfg b/infra/config/luci-scheduler.cfg index 5686797d66..274b7c001c 100644 --- a/infra/config/luci-scheduler.cfg +++ b/infra/config/luci-scheduler.cfg @@ -386,6 +386,42 @@ job { builder: "Perf Android32 (M Nexus5)" } } +job { + id: "Perf Android32 (O Pixel2)" + realm: "perf" + acls { + role: TRIGGERER + granted_to: "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + } + acl_sets: "perf" + triggering_policy { + kind: LOGARITHMIC_BATCHING + log_base: 1.7 + } + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "perf" + builder: "Perf Android32 (O Pixel2)" + } +} +job { + id: "Perf Android32 (R Pixel5)" + realm: "perf" + acls { + role: TRIGGERER + granted_to: "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + } + acl_sets: "perf" + triggering_policy { + kind: LOGARITHMIC_BATCHING + log_base: 1.7 + } + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "perf" + builder: "Perf Android32 (R Pixel5)" + } +} job { id: "Perf Android64 (M Nexus5X)" realm: "perf" diff --git a/infra/config/realms.cfg b/infra/config/realms.cfg index c8d95ea401..4fd8685467 100644 --- a/infra/config/realms.cfg +++ b/infra/config/realms.cfg @@ -113,6 +113,8 @@ realms { attribute: "scheduler.job.name" values: "Perf Android32 (M AOSP Nexus6)" values: "Perf Android32 (M Nexus5)" + values: "Perf Android32 (O Pixel2)" + values: "Perf Android32 (R Pixel5)" values: "Perf Android64 (M Nexus5X)" values: "Perf Android64 (O Pixel2)" values: "Perf Android64 (R Pixel5)" diff --git a/infra/specs/client.webrtc.perf.json b/infra/specs/client.webrtc.perf.json index 96ba06e0a2..e9ff1219f5 100644 --- a/infra/specs/client.webrtc.perf.json +++ b/infra/specs/client.webrtc.perf.json @@ -153,6 +153,154 @@ } ] }, + "Perf Android32 (O Pixel2)": { + "gtest_tests": [ + { + "args": [ + ".", + "--remove", + "--android", + "--adb-path", + "../../third_party/android_sdk/public/platform-tools/adb", + "--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb" + ], + "merge": { + "args": [ + "--test-suite", + "low_bandwidth_audio_perf_test" + ], + "script": "//tools_webrtc/perf/process_perf_results.py" + }, + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "android_devices": "1", + "device_type": "walleye", + "os": "Android", + "pool": "WebRTC-perf" + } + ], + "hard_timeout": 10800, + "idempotent": false, + "io_timeout": 10800 + }, + "test": "low_bandwidth_audio_perf_test", + "test_id_prefix": "ninja://audio:low_bandwidth_audio_perf_test/" + }, + { + "args": [ + "--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb", + "--nologs" + ], + "merge": { + "args": [ + "--test-suite", + "webrtc_perf_tests" + ], + "script": "//tools_webrtc/perf/process_perf_results.py" + }, + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "android_devices": "1", + "device_type": "walleye", + "os": "Android", + "pool": "WebRTC-perf" + } + ], + "hard_timeout": 10800, + "idempotent": false, + "io_timeout": 10800 + }, + "test": "webrtc_perf_tests", + "test_id_prefix": "ninja://:webrtc_perf_tests/" + } + ] + }, + "Perf Android32 (R Pixel5)": { + "gtest_tests": [ + { + "args": [ + ".", + "--remove", + "--android", + "--adb-path", + "../../third_party/android_sdk/public/platform-tools/adb", + "--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb" + ], + "merge": { + "args": [ + "--test-suite", + "low_bandwidth_audio_perf_test" + ], + "script": "//tools_webrtc/perf/process_perf_results.py" + }, + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "android_devices": "1", + "device_type": "redfin", + "os": "Android", + "pool": "WebRTC-perf" + } + ], + "hard_timeout": 10800, + "idempotent": false, + "io_timeout": 10800 + }, + "test": "low_bandwidth_audio_perf_test", + "test_id_prefix": "ninja://audio:low_bandwidth_audio_perf_test/" + }, + { + "args": [ + "--isolated-script-test-perf-output=${ISOLATED_OUTDIR}/perftest-output.pb", + "--nologs" + ], + "merge": { + "args": [ + "--test-suite", + "webrtc_perf_tests" + ], + "script": "//tools_webrtc/perf/process_perf_results.py" + }, + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, + "swarming": { + "can_use_on_swarming_builders": true, + "dimension_sets": [ + { + "android_devices": "1", + "device_type": "redfin", + "os": "Android", + "pool": "WebRTC-perf" + } + ], + "hard_timeout": 10800, + "idempotent": false, + "io_timeout": 10800 + }, + "test": "webrtc_perf_tests", + "test_id_prefix": "ninja://:webrtc_perf_tests/" + } + ] + }, "Perf Android64 (M Nexus5X)": { "gtest_tests": [ { diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl index 99fc2b7b96..1df1a0c314 100644 --- a/infra/specs/waterfalls.pyl +++ b/infra/specs/waterfalls.pyl @@ -277,6 +277,24 @@ 'gtest_tests': 'android_perf_tests', }, }, + 'Perf Android32 (O Pixel2)': { + 'mixins': [ + 'walleye', 'android-devices', 'perf-pool', 'timeout-3h', + 'perf-output', 'has_native_resultdb_integration' + ], + 'test_suites': { + 'gtest_tests': 'android_perf_tests', + }, + }, + 'Perf Android32 (R Pixel5)': { + 'mixins': [ + 'redfin', 'android-devices', 'perf-pool', 'timeout-3h', + 'perf-output', 'has_native_resultdb_integration' + ], + 'test_suites': { + 'gtest_tests': 'android_perf_tests', + }, + }, 'Perf Android64 (M Nexus5X)': { 'mixins': [ 'bullhead', 'marshmallow', 'android-devices', 'perf-pool', diff --git a/tools_webrtc/mb/mb_config.pyl b/tools_webrtc/mb/mb_config.pyl index 8d7c14f60a..e8acbce106 100644 --- a/tools_webrtc/mb/mb_config.pyl +++ b/tools_webrtc/mb/mb_config.pyl @@ -125,6 +125,8 @@ # instead? 'Perf Android32 (M AOSP Nexus6)': 'release_bot_x64', 'Perf Android32 (M Nexus5)': 'release_bot_x64', + 'Perf Android32 (O Pixel2)': 'release_bot_x64', + 'Perf Android32 (R Pixel5)': 'release_bot_x64', 'Perf Android64 (M Nexus5X)': 'release_bot_x64', 'Perf Android64 (O Pixel2)': 'release_bot_x64', 'Perf Android64 (R Pixel5)': 'release_bot_x64',