Skip to content

Commit d6a2813

Browse files
authored
Merge pull request #182 from native-api/fix_osx_build_r6
Fix OSX builds and migrate to Xcode 8.3
2 parents 54110e3 + 23100a7 commit d6a2813

File tree

5 files changed

+257
-157
lines changed

5 files changed

+257
-157
lines changed

.travis.yml

+140-93
Original file line numberDiff line numberDiff line change
@@ -33,185 +33,233 @@ cache:
3333
- $HOME/local_bottle_metadata
3434
# `cache: ccache: true` has no effect if `language:` is not `c` or `cpp`
3535
- $HOME/.ccache
36+
37+
# Add more cache stages (s2 etc) and corresponding OSX jobs like s1
38+
# if brew builds start to take longer than one Travis time limit
39+
stages:
40+
- s1
41+
- final
3642

3743
matrix:
3844
fast_finish: true
3945
include:
4046

4147
# default builds for MacOS
42-
- os: osx
43-
language: generic
44-
osx_image: xcode8
48+
- &osx-10
49+
os: osx
50+
osx_image: xcode8.3
4551
env:
4652
- MB_PYTHON_VERSION=2.7
4753
- ENABLE_CONTRIB=0
4854
- ENABLE_HEADLESS=0
49-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
50-
- os: osx
51-
language: generic
52-
osx_image: xcode8
55+
stage: final
56+
- <<: *osx-10
57+
stage: s1
58+
- &osx-30
59+
os: osx
60+
osx_image: xcode8.3
5361
env:
5462
- MB_PYTHON_VERSION=3.4
5563
- ENABLE_CONTRIB=0
5664
- ENABLE_HEADLESS=0
57-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
58-
- os: osx
59-
language: generic
60-
osx_image: xcode8
65+
stage: final
66+
- <<: *osx-30
67+
stage: s1
68+
- &osx-40
69+
os: osx
70+
osx_image: xcode8.3
6171
env:
6272
- MB_PYTHON_VERSION=3.5
6373
- ENABLE_CONTRIB=0
6474
- ENABLE_HEADLESS=0
65-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
66-
- os: osx
67-
language: generic
68-
osx_image: xcode8
75+
stage: final
76+
- <<: *osx-40
77+
stage: s1
78+
- &osx-50
79+
os: osx
80+
osx_image: xcode8.3
6981
env:
7082
- MB_PYTHON_VERSION=3.6
7183
- ENABLE_CONTRIB=0
7284
- ENABLE_HEADLESS=0
73-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
74-
- os: osx
75-
language: generic
76-
osx_image: xcode8
85+
stage: final
86+
- <<: *osx-50
87+
stage: s1
88+
- &osx-60
89+
os: osx
90+
osx_image: xcode8.3
7791
env:
7892
- MB_PYTHON_VERSION=3.7
7993
- ENABLE_CONTRIB=0
8094
- ENABLE_HEADLESS=0
81-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
8295
- TEST_DEPENDS=numpy==1.14.5
96+
stage: final
97+
- <<: *osx-60
98+
stage: s1
8399

84100
# headless builds for MacOS
85-
- os: osx
86-
language: generic
87-
osx_image: xcode8
101+
- &osx-70
102+
os: osx
103+
osx_image: xcode8.3
88104
env:
89105
- MB_PYTHON_VERSION=2.7
90106
- ENABLE_CONTRIB=0
91107
- ENABLE_HEADLESS=1
92-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
93-
- os: osx
94-
language: generic
95-
osx_image: xcode8
108+
stage: final
109+
- <<: *osx-70
110+
stage: s1
111+
- &osx-80
112+
os: osx
113+
osx_image: xcode8.3
96114
env:
97115
- MB_PYTHON_VERSION=3.4
98116
- ENABLE_CONTRIB=0
99117
- ENABLE_HEADLESS=1
100-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
101-
- os: osx
102-
language: generic
103-
osx_image: xcode8
118+
stage: final
119+
- <<: *osx-80
120+
stage: s1
121+
- &osx-90
122+
os: osx
123+
osx_image: xcode8.3
104124
env:
105125
- MB_PYTHON_VERSION=3.5
106126
- ENABLE_CONTRIB=0
107127
- ENABLE_HEADLESS=1
108-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
109-
- os: osx
110-
language: generic
111-
osx_image: xcode8
128+
stage: final
129+
- <<: *osx-90
130+
stage: s1
131+
- &osx-100
132+
os: osx
133+
osx_image: xcode8.3
112134
env:
113135
- MB_PYTHON_VERSION=3.6
114136
- ENABLE_CONTRIB=0
115137
- ENABLE_HEADLESS=1
116-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
117-
- os: osx
118-
language: generic
119-
osx_image: xcode8
138+
stage: final
139+
- <<: *osx-100
140+
stage: s1
141+
- &osx-110
142+
os: osx
143+
osx_image: xcode8.3
120144
env:
121145
- MB_PYTHON_VERSION=3.7
122146
- ENABLE_CONTRIB=0
123147
- ENABLE_HEADLESS=1
124-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
125148
- TEST_DEPENDS=numpy==1.14.5
149+
stage: final
150+
- <<: *osx-110
151+
stage: s1
126152

127153
# Contrib builds for MacOS
128-
- os: osx
129-
language: generic
130-
osx_image: xcode8
154+
- &osx-120
155+
os: osx
156+
osx_image: xcode8.3
131157
env:
132158
- MB_PYTHON_VERSION=2.7
133159
- ENABLE_CONTRIB=1
134160
- ENABLE_HEADLESS=0
135-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
136-
- os: osx
137-
language: generic
138-
osx_image: xcode8
161+
stage: final
162+
- <<: *osx-120
163+
stage: s1
164+
- &osx-130
165+
os: osx
166+
osx_image: xcode8.3
139167
env:
140168
- MB_PYTHON_VERSION=3.4
141169
- ENABLE_CONTRIB=1
142170
- ENABLE_HEADLESS=0
143-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
144-
- os: osx
145-
language: generic
146-
osx_image: xcode8
171+
stage: final
172+
- <<: *osx-130
173+
stage: s1
174+
- &osx-140
175+
os: osx
176+
osx_image: xcode8.3
147177
env:
148178
- MB_PYTHON_VERSION=3.5
149179
- ENABLE_CONTRIB=1
150180
- ENABLE_HEADLESS=0
151-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
152-
- os: osx
153-
language: generic
154-
osx_image: xcode8
181+
stage: final
182+
- <<: *osx-140
183+
stage: s1
184+
- &osx-150
185+
os: osx
186+
osx_image: xcode8.3
155187
env:
156188
- MB_PYTHON_VERSION=3.6
157189
- ENABLE_CONTRIB=1
158190
- ENABLE_HEADLESS=0
159-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
160-
- os: osx
161-
language: generic
162-
osx_image: xcode8
191+
stage: final
192+
- <<: *osx-150
193+
stage: s1
194+
- &osx-160
195+
os: osx
196+
osx_image: xcode8.3
163197
env:
164198
- MB_PYTHON_VERSION=3.7
165199
- ENABLE_CONTRIB=1
166200
- ENABLE_HEADLESS=0
167-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
168201
- TEST_DEPENDS=numpy==1.14.5
202+
stage: final
203+
- <<: *osx-160
204+
stage: s1
169205

170206
# headless contrib builds for MacOS
171-
- os: osx
172-
language: generic
173-
osx_image: xcode8
207+
- &osx-170
208+
os: osx
209+
osx_image: xcode8.3
174210
env:
175211
- MB_PYTHON_VERSION=2.7
176212
- ENABLE_CONTRIB=1
177213
- ENABLE_HEADLESS=1
178-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
179-
- os: osx
180-
language: generic
181-
osx_image: xcode8
214+
stage: final
215+
- <<: *osx-170
216+
stage: s1
217+
- &osx-180
218+
os: osx
219+
osx_image: xcode8.3
182220
env:
183221
- MB_PYTHON_VERSION=3.4
184222
- ENABLE_CONTRIB=1
185223
- ENABLE_HEADLESS=1
186-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
187-
- os: osx
188-
language: generic
189-
osx_image: xcode8
224+
stage: final
225+
- <<: *osx-180
226+
stage: s1
227+
- &osx-190
228+
os: osx
229+
osx_image: xcode8.3
190230
env:
191231
- MB_PYTHON_VERSION=3.5
192232
- ENABLE_CONTRIB=1
193233
- ENABLE_HEADLESS=1
194-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
195-
- os: osx
196-
language: generic
197-
osx_image: xcode8
234+
stage: final
235+
- <<: *osx-190
236+
stage: s1
237+
- &osx-200
238+
os: osx
239+
osx_image: xcode8.3
198240
env:
199241
- MB_PYTHON_VERSION=3.6
200242
- ENABLE_CONTRIB=1
201243
- ENABLE_HEADLESS=1
202-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
203-
- os: osx
204-
language: generic
205-
osx_image: xcode8
244+
stage: final
245+
- <<: *osx-200
246+
stage: s1
247+
- &osx-210
248+
os: osx
249+
osx_image: xcode8.3
206250
env:
207251
- MB_PYTHON_VERSION=3.7
208252
- ENABLE_CONTRIB=1
209253
- ENABLE_HEADLESS=1
210-
- BDIST_PARAMS="-- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7"
211254
- TEST_DEPENDS=numpy==1.14.5
255+
stage: final
256+
- <<: *osx-210
257+
stage: s1
212258

213259
# default builds for Linux
214260
- os: linux
261+
# the following jobs will use the same stage name by default
262+
stage: s1
215263
env:
216264
- MB_PYTHON_VERSION=2.7
217265
- ENABLE_CONTRIB=0
@@ -618,30 +666,29 @@ before_install: |
618666
source multibuild_customize.sh
619667
echo $ENABLE_CONTRIB > contrib.enabled
620668
echo $ENABLE_HEADLESS > headless.enabled
621-
669+
622670
if [ -n "$IS_OSX" ]; then
623671
TAPS="$(brew --repository)/Library/Taps"
624672
if [ -e "$TAPS/caskroom/homebrew-cask" -a -e "$TAPS/homebrew/homebrew-cask" ]; then
625673
rm -rf "$TAPS/caskroom/homebrew-cask"
626674
fi
627675
find "$TAPS" -type d -name .git -exec \
628676
bash -xec '
629-
cd $(dirname '\''{}'\'')
630-
git clean -fxd
631-
git status' \;
632-
677+
cd $(dirname '\''{}'\'') || echo "status: $?"
678+
git clean -fxd || echo "status: $?"
679+
sleep 1 || echo "status: $?"
680+
git status || echo "status: $?"' \; || echo "status: $?"
681+
633682
brew_cache_cleanup
634683
fi
635-
636-
before_install
684+
637685
# Not interested in travis internal scripts' output
638686
set +x
639687
640688
install: |
641689
# Build and package
642690
set -x
643691
build_wheel $REPO_DIR $PLAT
644-
if [ -n "$USE_CCACHE" ]; then ccache --show-stats; fi
645692
set +x
646693
647694
script: |
@@ -653,12 +700,12 @@ script: |
653700
#otherwise, Travis logic terminates prematurely
654701
#https://travis-ci.community/t/shell-session-update-command-not-found-in-build-log-causes-build-to-fail-if-trap-err-is-set/817
655702
trap ERR
656-
703+
657704
test "$rc" -eq 0
658705
659706
before_cache: |
660707
# Cleanup dirs to be cached
661-
set -x
708+
set -e; set -x
662709
if [ -n "$IS_OSX" ]; then
663710
664711
# When Taps is cached, this dir causes "Error: file exists" on `brew update`
@@ -667,10 +714,10 @@ before_cache: |
667714
fi
668715
669716
brew_cache_cleanup
670-
717+
671718
fi
672-
set +x
673-
719+
set +x; set +e
720+
674721
after_success: |
675722
# Upload wheels to pypi if requested
676723
if [ -n "$TRAVIS_TAG" ]; then

0 commit comments

Comments
 (0)