| # Copyright 2016 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. |
| |
| from recipe_engine.types import freeze |
| |
| |
| DEPS = [ |
| 'depot_tools/bot_update', |
| 'chromium', |
| 'recipe_engine/step', |
| 'webrtc', |
| ] |
| |
| RECIPE_CONFIGS = freeze({ |
| 'webrtc_default': { |
| 'chromium_config': 'webrtc_default', |
| 'gclient_config': 'webrtc', |
| }, |
| 'webrtc_android': { |
| 'chromium_config': 'android', |
| 'gclient_config': 'webrtc', |
| 'gclient_apply_config': ['android'], |
| }, |
| }) |
| |
| BUILDERS = freeze({ |
| 'client.webrtc': { |
| 'builders': { |
| 'Linux (more configs)': { |
| 'recipe_config': 'webrtc_default', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_BITS': 64, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'linux'}, |
| }, |
| 'Android32 (more configs)': { |
| 'recipe_config': 'webrtc_android', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_PLATFORM': 'android', |
| 'TARGET_ARCH': 'arm', |
| 'TARGET_BITS': 32, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'linux'}, |
| }, |
| 'Win (more configs)': { |
| 'recipe_config': 'webrtc_default', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_BITS': 64, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'win'}, |
| }, |
| }, |
| }, |
| 'tryserver.webrtc': { |
| 'builders': { |
| 'linux_more_configs': { |
| 'recipe_config': 'webrtc_default', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_BITS': 64, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'linux'}, |
| }, |
| 'android_more_configs': { |
| 'recipe_config': 'webrtc_android', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_PLATFORM': 'android', |
| 'TARGET_ARCH': 'arm', |
| 'TARGET_BITS': 32, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'linux'}, |
| }, |
| 'win_more_configs': { |
| 'recipe_config': 'webrtc_default', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Debug', |
| 'TARGET_BITS': 64, |
| }, |
| 'bot_type': 'builder', |
| 'testing': {'platform': 'win'}, |
| }, |
| }, |
| }, |
| }) |
| |
| |
| def BuildSteps(api, name, *gn_args): |
| api.chromium.c.build_config_fs = name |
| api.chromium.c.gn_args = list(gn_args) |
| api.chromium.run_gn(use_goma=True) |
| api.step.active_result.presentation.step_text = 'gn (%s)' % (name) |
| api.chromium.compile(use_goma_module=True) |
| |
| |
| def RunSteps(api): |
| api.webrtc.apply_bot_config(BUILDERS, RECIPE_CONFIGS) |
| |
| api.webrtc.checkout() |
| api.chromium.ensure_goma() |
| api.chromium.runhooks() |
| |
| BuildSteps(api, 'intelligibility_enhancer_no_include_tests', |
| 'rtc_enable_intelligibility_enhancer=true', |
| 'rtc_include_tests=false') |
| BuildSteps(api, 'bwe_test_logging', |
| 'rtc_enable_bwe_test_logging=true') |
| if api.chromium.c.TARGET_PLATFORM != 'android': |
| # Sanity check for the rtc_enable_bwe_test_logging=true build. |
| api.webrtc.run_baremetal_test('bwe_simulations_tests', |
| gtest_args=['--gtest_filter=VideoSendersTest/' |
| 'BweSimulation.Choke1000kbps500kbps1000kbps/1']) |
| BuildSteps(api, 'dummy_audio_file_devices_no_protobuf', |
| 'rtc_use_dummy_audio_file_devices=true', |
| 'rtc_enable_protobuf=false') |
| BuildSteps(api, 'rtti_no_sctp', |
| 'use_rtti=true', |
| 'rtc_enable_sctp=false') |
| if api.chromium.c.TARGET_PLATFORM != 'android': |
| # Sanity check for the rtc_enable_sctp=false build. |
| api.webrtc.run_baremetal_test('peerconnection_unittests') |
| |
| |
| def GenTests(api): |
| for test in api.chromium.gen_tests_for_builders(BUILDERS): |
| yield test |