Xcode 11.1 for macOS 10.12 build, Xcode 9 via cron

The Xcode 9 builds often fail because of some nasty interaction between
it and the Travis build cache -- but not caching means they always take
forever because of homebrew updates.  This commit changes the build to
use a new Xcode but with a deployment target of 10.12 instead.

This means that macOS version macros for versions later than 10.12 are
available and that the tests run on a later version of macOS as well.
Therefore, it doesn't prove that a "real" Xcode 9 / macOS 10.12 build
will work.

ROS2 relies on macOS 10.12 so this introduces a (small) risk of build
failures over there.  To mitigate that, a pure Xcode 9 build is included
in the cron job.

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2019-11-05 14:22:42 +01:00 committed by eboasson
parent 3652fe6330
commit b9e5e8cd7d

View file

@ -86,10 +86,6 @@ osx_xcode: &osx_xcode
osx_xcode9: &osx_xcode9 osx_xcode9: &osx_xcode9
<<: *osx_xcode <<: *osx_xcode
osx_image: xcode9 osx_image: xcode9
cache:
directories:
- $HOME/Library/Caches/Homebrew
- /usr/local/Homebrew
addons: addons:
homebrew: homebrew:
packages: [ python3 ] packages: [ python3 ]
@ -99,11 +95,6 @@ osx_xcode9: &osx_xcode9
# used to ensure Homebrew is kept up-to-date and build times are kept to # used to ensure Homebrew is kept up-to-date and build times are kept to
# a minimum. # a minimum.
update: true update: true
before_cache:
- brew cleanup
- find /usr/local/Homebrew -type d -name .git |
xargs -I {} dirname {} |
xargs -I {} git --git-dir={}/.git --work-tree={} clean -f -d -x
windows_vs2017: &windows_vs2017 windows_vs2017: &windows_vs2017
os: windows os: windows
@ -165,6 +156,9 @@ jobs:
env: [ ARCH=x86_64, ASAN=none, BUILD_TYPE=Release, SSL=YES, GENERATOR="Unix Makefiles" ] env: [ ARCH=x86_64, ASAN=none, BUILD_TYPE=Release, SSL=YES, GENERATOR="Unix Makefiles" ]
- <<: *osx_xcode9 - <<: *osx_xcode9
env: [ ARCH=x86_64, ASAN=none, BUILD_TYPE=Release, SSL=NO, GENERATOR="Unix Makefiles" ] env: [ ARCH=x86_64, ASAN=none, BUILD_TYPE=Release, SSL=NO, GENERATOR="Unix Makefiles" ]
if: type = cron
- <<: *osx_xcode
env: [ ARCH=x86_64, ASAN=none, BUILD_TYPE=Release, SSL=NO, GENERATOR="Unix Makefiles", MACOSX_DEPLOYMENT_TARGET=10.12 ]
- <<: *osx_xcode - <<: *osx_xcode
env: [ ARCH=x86_64, ASAN=address, BUILD_TYPE=Debug, SSL=YES, GENERATOR="Unix Makefiles" ] env: [ ARCH=x86_64, ASAN=address, BUILD_TYPE=Debug, SSL=YES, GENERATOR="Unix Makefiles" ]
- <<: *osx_xcode - <<: *osx_xcode