Index: scripts/master/factory/chromium_factory.py |
diff --git a/scripts/master/factory/chromium_factory.py b/scripts/master/factory/chromium_factory.py |
index 2356969244bdcb81028d1535bc1b425f6fe13511..899b83fc271e0483d006be8deee326348037f4e5 100644 |
--- a/scripts/master/factory/chromium_factory.py |
+++ b/scripts/master/factory/chromium_factory.py |
@@ -878,10 +878,15 @@ class ChromiumFactory(gclient_factory.GClientFactory): |
# Ensure GYP errors out if files referenced in .gyp files are missing. |
self.ForceMissingFilesToBeFatal(project, factory_properties['gclient_env']) |
+ is_windows_asan_builder = (slave_type == 'Builder' and |
+ self._target_platform == 'win32' and |
+ factory_properties.get('asan')) |
+ |
factory = self.BuildFactory(target, clobber, tests_for_build, mode, |
slave_type, options, compile_timeout, build_url, |
project, factory_properties, |
- gclient_deps=gclient_deps) |
+ gclient_deps=gclient_deps, |
+ add_archive_steps=(not is_windows_asan_builder)) |
# Get the factory command object to create new steps to the factory. |
chromium_cmd_obj = chromium_commands.ChromiumCommands(factory, |
@@ -889,6 +894,15 @@ class ChromiumFactory(gclient_factory.GClientFactory): |
self._build_dir, |
self._target_platform) |
+ # Add ASANification step for windows |
+ # MUST BE FIRST STEP ADDED AFTER BuildFactory CALL in order to add back |
+ # the ZipBuild step in it's expected place |
+ if is_windows_asan_builder: |
+ chromium_cmd_obj.AddWindowsASANStep() |
+ # Need to add the Zip Build step back |
+ chromium_cmd_obj.AddZipBuild(halt_on_failure=True, |
+ factory_properties=factory_properties) |
+ |
# Add this archive build step. |
if factory_properties.get('archive_build'): |
chromium_cmd_obj.AddArchiveBuild(factory_properties=factory_properties) |