| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Recipe to test the deterministic build. | 5 """Recipe to test the deterministic build. |
| 6 | 6 |
| 7 Waterfall page: https://build.chromium.org/p/chromium.swarm/waterfall | 7 Waterfall page: https://build.chromium.org/p/chromium.swarm/waterfall |
| 8 """ | 8 """ |
| 9 | 9 |
| 10 from infra.libs.infra_types import freeze | 10 from infra.libs.infra_types import freeze |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 'Android deterministic build': { | 27 'Android deterministic build': { |
| 28 'chromium_config': 'android', | 28 'chromium_config': 'android', |
| 29 'chromium_config_kwargs': { | 29 'chromium_config_kwargs': { |
| 30 'BUILD_CONFIG': 'Release', | 30 'BUILD_CONFIG': 'Release', |
| 31 'TARGET_BITS': 32, | 31 'TARGET_BITS': 32, |
| 32 'TARGET_PLATFORM': 'android', | 32 'TARGET_PLATFORM': 'android', |
| 33 }, | 33 }, |
| 34 'platform': 'linux', | 34 'platform': 'linux', |
| 35 'targets': ['all'], | 35 'targets': ['all'], |
| 36 }, | 36 }, |
| 37 'IOS deterministic build': { | |
| 38 'chromium_apply_config': ['ninja'], | |
| 39 'chromium_config': 'chromium_ios_device', | |
| 40 'chromium_config_kwargs': { | |
| 41 'BUILD_CONFIG': 'Release', | |
| 42 'TARGET_PLATFORM': 'ios', | |
| 43 'TARGET_BITS': 32, | |
| 44 }, | |
| 45 'gclient_config': 'ios', | |
| 46 'platform': 'mac', | |
| 47 'targets': ['all'], | |
| 48 }, | |
| 49 'Linux deterministic build': { | 37 'Linux deterministic build': { |
| 50 'chromium_config': 'chromium', | 38 'chromium_config': 'chromium', |
| 51 'gclient_config': 'chromium', | 39 'gclient_config': 'chromium', |
| 52 'platform': 'linux', | 40 'platform': 'linux', |
| 53 }, | 41 }, |
| 54 'Mac deterministic build': { | 42 'Mac deterministic build': { |
| 55 'chromium_config': 'chromium', | 43 'chromium_config': 'chromium', |
| 56 'gclient_config': 'chromium', | 44 'gclient_config': 'chromium', |
| 57 'platform': 'mac', | 45 'platform': 'mac', |
| 58 }, | 46 }, |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 buildername = api.properties['buildername'] | 95 buildername = api.properties['buildername'] |
| 108 recipe_config = DETERMINISTIC_BUILDERS[buildername] | 96 recipe_config = DETERMINISTIC_BUILDERS[buildername] |
| 109 | 97 |
| 110 targets = recipe_config.get('targets', ['chromium_swarm_tests']) | 98 targets = recipe_config.get('targets', ['chromium_swarm_tests']) |
| 111 if recipe_config.get('chromium_config_kwargs'): | 99 if recipe_config.get('chromium_config_kwargs'): |
| 112 target_platform = recipe_config['chromium_config_kwargs'].get( | 100 target_platform = recipe_config['chromium_config_kwargs'].get( |
| 113 'TARGET_PLATFORM') | 101 'TARGET_PLATFORM') |
| 114 else: | 102 else: |
| 115 target_platform = recipe_config.get('platform') | 103 target_platform = recipe_config.get('platform') |
| 116 | 104 |
| 117 # TODO(sebmarchand): iOS should be handled differently, fix this. | 105 if target_platform in ('linux', 'mac', 'win'): |
| 118 if target_platform in ('linux', 'mac', 'win', 'ios'): | |
| 119 ConfigureChromiumBuilder(api, recipe_config) | 106 ConfigureChromiumBuilder(api, recipe_config) |
| 120 elif target_platform is 'android': | 107 elif target_platform is 'android': |
| 121 ConfigureAndroidBuilder(api, recipe_config) | 108 ConfigureAndroidBuilder(api, recipe_config) |
| 122 api.chromium_android.init_and_sync() | 109 api.chromium_android.init_and_sync() |
| 123 | 110 |
| 124 # Enable test isolation. Modifies GYP_DEFINES used in 'runhooks' below. | 111 # Enable test isolation. Modifies GYP_DEFINES used in 'runhooks' below. |
| 125 api.isolate.set_isolate_environment(api.chromium.c) | 112 api.isolate.set_isolate_environment(api.chromium.c) |
| 126 | 113 |
| 127 # Do a first build and move the build artifact to the temp directory. | 114 # Do a first build and move the build artifact to the temp directory. |
| 128 api.chromium.runhooks() | 115 api.chromium.runhooks() |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 _sanitize_nonalpha(buildername)) | 148 _sanitize_nonalpha(buildername)) |
| 162 yield ( | 149 yield ( |
| 163 api.test(test_name) + | 150 api.test(test_name) + |
| 164 api.properties.scheduled() + | 151 api.properties.scheduled() + |
| 165 api.properties.generic(buildername=buildername, | 152 api.properties.generic(buildername=buildername, |
| 166 mastername=mastername) + | 153 mastername=mastername) + |
| 167 api.platform(DETERMINISTIC_BUILDERS[buildername]['platform'], 32) + | 154 api.platform(DETERMINISTIC_BUILDERS[buildername]['platform'], 32) + |
| 168 api.properties(configuration='Release') + | 155 api.properties(configuration='Release') + |
| 169 api.step_data('remove_build_metadata', retcode=1) | 156 api.step_data('remove_build_metadata', retcode=1) |
| 170 ) | 157 ) |
| OLD | NEW |