-
Notifications
You must be signed in to change notification settings - Fork 13
/
.travis.yml
146 lines (121 loc) · 5 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# OSX/Linux (https://github.com/travis-ci-tester/toolchain-table)
language:
- cpp
# Container-based infrastructure (Linux)
# * https://docs.travis-ci.com/user/migrating-from-legacy/#How-can-I-use-container-based-infrastructure%3F
sudo:
- false
dist:
- trusty
# 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
# * http://stackoverflow.com/a/30925448/2288008
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-3.8
packages:
- python3
# python3-pip package is not available, use 'easy_install3':
# * https://github.com/travis-ci/apt-package-whitelist/issues/768
- python3-setuptools # easy_install3
# https://github.com/travis-ci-tester/travis-test-clang-cxx-11
- libstdc++-4.8-dev
- clang-3.8
- libc++-dev
- libc++abi-dev
- libclang-3.8-dev
- libclang-common-3.8-dev
- libclang1-3.8
# https://github.com/travis-ci-tester/travis-test-gcc-cxx-11
- g++-4.8
# Packages for Android development: http://superuser.com/a/360398/252568
- libncurses5:i386
- libstdc++6:i386
- zlib1g:i386
matrix:
include:
# Linux {
- os: linux
env: CONFIG=Release TOOLCHAIN=libcxx INSTALL=--strip TO_STRING=OFF
- os: linux
env: CONFIG=Release TOOLCHAIN=gcc-4-8-pic-hid-sections INSTALL=--strip TO_STRING=OFF
# - os: linux
# env: CONFIG=Debug TOOLCHAIN=gcc-4-8-pic-hid-sections INSTALL=--strip TO_STRING=OFF
- os: linux
env: CONFIG=Release TOOLCHAIN=android-ndk-r10e-api-19-armeabi-v7a-neon-hid-sections INSTALL=--strip TO_STRING=ON
# - os: linux
# env: CONFIG=Debug TOOLCHAIN=android-ndk-r10e-api-19-armeabi-v7a-neon-hid-sections INSTALL=--strip TO_STRING=ON
# }
# OSX {
# - os: osx
# env: CONFIG=Release TOOLCHAIN=libcxx-hid-sections INSTALL=--strip TO_STRING=OFF
# - os: osx
# env: CONFIG=Debug TOOLCHAIN=libcxx-hid-sections INSTALL=--strip TO_STRING=OFF
- os: osx
env: CONFIG=Release TOOLCHAIN=osx-10-11-hid-sections INSTALL=--install TO_STRING=OFF
# - os: osx
# env: CONFIG=Debug TOOLCHAIN=osx-10-11-hid-sections INSTALL=--install TO_STRING=OFF
- os: osx
env: CONFIG=Release TOOLCHAIN=ios-nocodesign-9-3-device-hid-sections INSTALL=--install TO_STRING=OFF
# - os: osx
# env: CONFIG=Debug TOOLCHAIN=ios-nocodesign-9-3-device-hid-sections INSTALL=--install TO_STRING=OFF
- os: osx
osx_image: xcode8.1
env: CONFIG=Release TOOLCHAIN=osx-10-12-sanitize-address-hid-sections INSTALL=--install TO_STRING=OFF
- os: osx
osx_image: xcode8.1
env: CONFIG=Debug TOOLCHAIN=osx-10-12-sanitize-address-hid-sections INSTALL=--install TO_STRING=OFF
- os: osx
env: CONFIG=Release TOOLCHAIN=android-ndk-r10e-api-19-armeabi-v7a-neon-hid-sections INSTALL=--strip TO_STRING=ON
# - os: osx
# env: CONFIG=Debug TOOLCHAIN=android-ndk-r10e-api-19-armeabi-v7a-neon-hid-sections INSTALL=--strip TO_STRING=ON
# }
# disable the default submodule logic to support local modification of .gitmodules paths
git:
submodules: false
before_install:
# Add '--quiet' to avoid leaking the token to logs
- git submodule update --init --recursive --quiet
# Use a recent clang
# - if [[ $TRAVIS_OS_NAME == 'linux' ]]; then sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 380; fi
# - if [[ $TRAVIS_OS_NAME == 'linux' ]]; then sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380; fi
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then mkdir -p latest-clang-symlinks && ln -s /usr/bin/clang-3.8 latest-clang-symlinks/clang && ln -s /usr/bin/clang++-3.8 latest-clang-symlinks/clang++ && export PATH="$PWD/latest-clang-symlinks:$PATH"; fi
install:
# Info about OS
- uname -a
# Install Python 3
- 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
# Install latest Polly toolchains and scripts
- wget https://github.com/ruslo/polly/archive/master.zip
- unzip master.zip
- POLLY_ROOT="`pwd`/polly-master"
- export PATH="${POLLY_ROOT}/bin:${PATH}"
# Install dependencies (CMake, Android NDK)
- install-ci-dependencies.py
# Tune locations
- export PATH="`pwd`/_ci/cmake/bin:${PATH}"
# Installed if toolchain is Android (otherwise directory doesn't exist)
- export ANDROID_NDK_r10e="`pwd`/_ci/android-ndk-r10e"
script:
# optional to_string.h
- >
polly.py
--toolchain ${TOOLCHAIN}
--config ${CONFIG}
--verbose
--fwd
HUNTER_CONFIGURATION_TYPES=${CONFIG}
XGBOOSTER_ADD_TO_STRING=${TO_STRING}
--test
--discard 10
--tail 100
${INSTALL}
branches:
except:
- /^pr\..*/