forked from ruslo/polly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
128 lines (99 loc) · 3.67 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# OSX/Linux (https://github.com/travis-ci-tester/toolchain-table)
# Workaround for https://github.com/travis-ci/travis-ci/issues/8363
language:
- minimal
# Container-based infrastructure (Linux)
# * https://docs.travis-ci.com/user/migrating-from-legacy/#How-can-I-use-container-based-infrastructure%3F
sudo:
- false
# Install packages differs for container-based infrastructure
# * https://docs.travis-ci.com/user/migrating-from-legacy/#How-do-I-install-APT-sources-and-packages%3F
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- python3-pip
- g++-5
- gcc-5
- g++-7
- gcc-7
dist:
- trusty
matrix:
include:
# Linux {
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=gcc CONFIG=Release
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=android-ndk-r15c-api-21-armeabi-v7a-neon-clang-libcxx CONFIG=Release
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=gcc-5-cxx14-c11 CONFIG=Release
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=gcc-7-cxx17 CONFIG=Release
# Clang5 included in Travis CI trusty image
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=clang-5-cxx14 CONFIG=Release
- os: linux
env: EXAMPLE=01-executable TOOLCHAIN=clang-5-cxx17 CONFIG=Release
- os: linux
env: EXAMPLE=02-library TOOLCHAIN=gcc CONFIG=Release
- os: linux
env: EXAMPLE=03-shared-link TOOLCHAIN=gcc CONFIG=Release
# }
# osx {
- os: osx
osx_image: xcode9.4
env: EXAMPLE=01-executable TOOLCHAIN=osx-10-13 CONFIG=Release
- os: osx
osx_image: xcode9.4
env: EXAMPLE=01-executable TOOLCHAIN=ios-nocodesign-11-4-dep-9-3-armv7 CONFIG=Release
- os: osx
osx_image: xcode10.1
env: EXAMPLE=01-executable TOOLCHAIN=ios-nocodesign-12-1-dep-9-3-armv7 CONFIG=Release
- os: osx
osx_image: xcode11
env: EXAMPLE=01-executable TOOLCHAIN=ios-nocodesign-13-0-dep-9-3-arm64 CONFIG=Release
- os: osx
osx_image: xcode9.4
env: EXAMPLE=04-framework TOOLCHAIN=ios-nocodesign-11-4-dep-9-3 CONFIG=Release
# }
install:
# Info about OS
- uname -a
- export HOMEBREW_NO_AUTO_UPDATE=1
# Install Python 3
- if [[ "`uname`" == "Darwin" ]]; then travis_retry brew upgrade python || echo "Ignoring failure..."; fi
- if [[ "`uname`" == "Darwin" ]]; then travis_retry brew install python3; fi
# Install Python package 'requests'
# 'easy_install3' is not installed by 'brew install python3' on OS X 10.9 Maverick
- if [[ "`uname`" == "Darwin" ]]; then pip3 install requests; fi
- if [[ "`uname`" == "Linux" ]]; then travis_retry pip3 install --user requests; fi
# fix broken clang link on Travis-CI
- if [[ "`uname`" == "Linux" ]]; then mkdir clang-bin; ln -s /usr/local/clang-5.0.0/bin/clang++ clang-bin/clang++-5.0; fi
- if [[ "`uname`" == "Darwin" ]]; then mkdir clang-bin; ln -s /usr/bin/clang++ clang-bin/clang++-5.0; fi
# Install dependencies (CMake, Android NDK)
- POLLY_SOURCE_DIR="`pwd`"
- python3 "${POLLY_SOURCE_DIR}/bin/install-ci-dependencies.py"
# Tune locations
- export PATH="`pwd`/_ci/cmake/bin:`pwd`/clang-bin:${PATH}"
# Installed if toolchain is Android (otherwise directory doesn't exist)
- export ANDROID_NDK_r10e="`pwd`/_ci/android-ndk-r10e"
- export ANDROID_NDK_r11c="`pwd`/_ci/android-ndk-r11c"
- export ANDROID_NDK_r15c="`pwd`/_ci/android-ndk-r15c"
- export ANDROID_NDK_r17="`pwd`/_ci/android-ndk-r17"
script:
- >
python3 "${POLLY_SOURCE_DIR}/bin/build.py"
--home examples/${EXAMPLE}
--toolchain ${TOOLCHAIN}
--config ${CONFIG}
--ios-multiarch
--ios-combined
--verbose
--clear
--install
--test
branches:
except:
- /^pr\..*/