This should hit the same targets that needed the configuration chromium_mac_sdk_10_10:
https://codereview.chromium.org/1408863011
This will allow us to update the build configuration (xcode version, SDK version) via hermetic build.
Xcode < 7.0 doesn’t understand the 10.11 SDK, so this franken-Xcode-5.1.1-with-10.11-SDK isn’t actually useful.
Moving forward, the general policy should be that we don’t try to mix an SDK with an Xcode that had never heard of it. While it’s generally OK to mix an older SDK with a newer Xcode, there are changes in SDKs that require toolchain support, and the tools from a down-rev toolchain won’t necessarily understand them. In this case, it’s not “won’t necessarily,” there’s a hard break when mixing Xcode < 7.0 with SDK >= 10.11.
Summary: All macs in the infra fleet should use hermetic xcode. (was: All machines that compile targets from the chrome repository should use hermetic build.)
Some tests use Xcode binaries, so we need to plumb hermetic xcode through them as well.
e.g.
"""
scons: Reading SConscript files ...
Traceback (most recent call last):
File "../build/mac/find_sdk.py", line 89, in <module>
print main()
File "../build/mac/find_sdk.py", line 57, in main
sdks = [re.findall('^MacOSX(10\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)]
OSError: [Errno 2] No such file or directory: '/Library/Developer/CommandLineTools/Platforms/MacOSX.platform/Developer/SDKs'
CalledProcessError: Command '['/usr/bin/python', '../build/mac/find_sdk.py', '--print_sdk_path', '10.10']' returned non-zero exit status 1:
File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2437:
(mac_debug_env, mac_optimized_env) = GenerateOptimizationLevels(MakeMacEnv())
File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2408:
mac_sdk_min
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573:
raise CalledProcessError(retcode, cmd, output=output)
"""
https://build.chromium.org/p/chromium.fyi/builders/Chromium%20Mac%2010.11%20Force%20Mac%20Toolchain/builds/14583/steps/nacl_integration/logs/stdio
Is that acceptable? I don't know what the NaCl tests are doing with Xcode...
Long term, especially with iOS, testers will need a hermetic version of Xcode too, but I wonder if it's needed for phase N-1.
Okay. I went through all the failures on the bot. The nacl_integration_test failures repro locally, and it's because we haven't plumbed hermetic xcode through nacl. That task looks exceedingly difficult, so we're going to avoid doing that:
https://bugs.chromium.org/p/chromium/issues/detail?id=655771#c4
That means that nacl_integration_tests and bots on the nacl waterfall will continue to use system xcode.
The other failures I can't repro locally. I imagine there's something wrong with the bot configuration, but don't know what that is without further investigation.
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/97d826e88cf1639b0bec80510ec437ea4d3709e1
commit 97d826e88cf1639b0bec80510ec437ea4d3709e1
Author: erikchen <erikchen@chromium.org>
Date: Tue Nov 01 18:29:47 2016
Don't run nacl_integration tests on mac.
Only two tests remain enabled on Mac in the nacl_integration step. From the log
output, they are:
[ RUN ] nacl_newlib.run_breakpad_untrusted_crash_test
[ RUN ] nacl_newlib.run_inbrowser_test_runner
We have been keeping nacl_integration around because it has some tests that
cover crash reporting. Without these, we have no integration tests for crash
reporting in Chrome (whether crash reporting is handled via Breakpad, Crashpad
or anything else). However, most of those tests have been disabled over time
(at least for Mac), and the remaining one (untrusted_crash_test) isn't useful
without the others.
We can live without "inbrowser_test_runner". It's somewhat useful, but not
worth keeping nacl_integration enabled for.
BUG= 626093 , 655771 , 154400
Review-Url: https://codereview.chromium.org/2448563002
Cr-Commit-Position: refs/heads/master@{#429058}
[modify] https://crrev.com/97d826e88cf1639b0bec80510ec437ea4d3709e1/testing/buildbot/chromium.mac.json
Comment 1 by benhenry@chromium.org
, Jul 12 2016Components: -Infra Infra>Platform>Swarming