-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy path.travis.yml
149 lines (141 loc) · 3.77 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
147
148
149
language: generic
git:
submodules: false
env:
global:
- PROJECT=TraceLog.xcodeproj
- SCHEME=TraceLog-Package
matrix:
include:
-
os: linux
dist: bionic
sudo: required
env:
- BUILD="cmake build"
-
os: osx
osx_image: xcode10.2
env:
- BUILD="cmake build"
-
os: linux
dist: bionic
sudo: required
env:
- BUILD="swift build"
-
os: osx
osx_image: xcode10.2
env:
- BUILD="swift build"
-
os: osx
osx_image: xcode10.2
env:
- BUILD="pod lint"
-
os: osx
osx_image: xcode10.2
env:
- BUILD="xcodebuild"
- TEST_DEST="platform=iOS Simulator,OS=12.2,name=iPhone Xs"
- TEST_SDK=iphonesimulator
# -
# os: osx
# osx_image: xcode10.2
# env:
# - BUILD="xcodebuild"
# - TEST_DEST="platform=iOS Simulator,OS=11.3,name=iPhone 8"
# - TEST_SDK=iphonesimulator
# -
# os: osx
# osx_image: xcode10.2
# env:
# - BUILD="xcodebuild"
# - TEST_DEST="platform=iOS Simulator,OS=10.3.1,name=iPhone 7"
# - TEST_SDK=iphonesimulator
# -
# os: osx
# osx_image: xcode10.2
# env:
# - BUILD="xcodebuild"
# - TEST_DEST="platform=iOS Simulator,OS=9.3,name=iPhone 6s"
# - TEST_SDK=iphonesimulator
-
os: osx
osx_image: xcode10.2
env:
- BUILD="xcodebuild"
- TEST_DEST="platform=OS X,arch=x86_64"
- TEST_SDK=macosx
before_install:
#
# If there is a Gemfile for this os, install bundler and ask bundler to install the gems
#
- |
if [ -e Gemfile ]; then
export BUNDLE_GEMFILE=Gemfile
gem install bundler
bundler install
fi
#
# OSX
#
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
# Fix travis issue: https://github.com/travis-ci/travis-ci/issues/6307
rvm get head --auto-dotfiles || true
sudo log config --subsystem "xctest" --mode "persist:debug"
fi
#
# Linux requires downloading Swift and tools
#
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# Workaround for travis issue https://github.com/travis-ci/travis-ci/issues/7332
sudo rm -rf /etc/apt/sources.list.d/rwky-redis-source.list
sudo apt-get update -y
sudo apt-get -y install clang-3.8 lldb-3.8 libicu-dev
wget https://swift.org/builds/swift-5.0-release/ubuntu1804/swift-5.0-RELEASE/swift-5.0-RELEASE-ubuntu18.04.tar.gz
tar xzvf swift-5.0-RELEASE-ubuntu18.04.tar.gz
export PATH=$(pwd)/swift-5.0-RELEASE-ubuntu18.04/usr/bin:$PATH
fi
script:
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
# Fix travis issue: https://github.com/travis-ci/travis-ci/issues/6307
rvm get head --auto-dotfiles || true
fi
- |
if [[ "$BUILD" == "cmake build" ]]; then
set -e # Fail (and stop build) on first non zero exit code
cmake ./
make tests
set +e
fi
- |
if [[ "$BUILD" == "swift build" ]]; then
set -e # Fail (and stop build) on first non zero exit code
swift test
set +e
fi
- |
if [[ "$BUILD" == "pod lint" ]]; then
set -e # Fail (and stop build) on first non zero exit code
bundler exec pod repo update
bundler exec pod lib lint
set +e
fi
- |
if [[ "$BUILD" == "xcodebuild" ]]; then
set -e # Fail (and stop build) on first non zero exit code
cmake ./
make xcode-project
set -o pipefail
xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$TEST_DEST" -sdk "$TEST_SDK" -enableCodeCoverage YES test
set +o pipefail
set +e
fi
after_success:
- bash <(curl -s https://codecov.io/bash)