-
Notifications
You must be signed in to change notification settings - Fork 106
/
.travis.yml
100 lines (89 loc) · 3.21 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
env:
global:
- IOS_SCHEME="BFKit iOS"
- MACOS_SCHEME="BFKit macOS"
- WATCHOS_SCHEME="BFKit watchOS"
- EXAMPLE_SCHEME="BFKitExample"
matrix:
include:
- name: Ubuntu 14.04 / SwiftPM
os: linux
language: generic
sudo: required
dist: trusty
env: SPM="YES"
- name: Ubuntu 16.04 / SwiftPM
os: linux
language: generic
sudo: required
dist: xenial
env: SPM="YES"
- name: macOS / Xcode 11.3 / SwiftPM
os: osx
language: objective-c
osx_image: xcode11.3
env: SPM="YES"
- name: macOS / Xcode 11.3 / iOS 13.1 / iPhone 11 Pro Max
os: osx
language: objective-c
osx_image: xcode11.3
env: PROJ="BFKit.xcodeproj" DESTINATION="OS=13.1,name=iPhone 11 Pro Max" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="YES" EXAMPLE="NO"
- name: macOS / Xcode 11.3 / watchOS 6.0 / Apple Watch Series 5 - 44mm
os: osx
language: objective-c
osx_image: xcode11.3
env: PROJ="BFKit.xcodeproj" DESTINATION="OS=6.0,name=Apple Watch Series 5 - 44mm" SCHEME="$WATCHOS_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO" EXAMPLE="NO"
- name: macOS / Xcode 11.3
os: osx
language: objective-c
osx_image: xcode11.3
env: PROJ="BFKit.xcodeproj" DESTINATION="arch=x86_64" SCHEME="$MACOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO" EXAMPLE="NO"
- name: macOS / Xcode 11.3 / iOS 13.1 / iPhone 8 Plus / Demo
os: osx
language: objective-c
osx_image: xcode11.3
env: PROJ="Example/BFKitExample.xcodeproj" DESTINATION="OS=13.1,name=iPhone 8 Plus" SCHEME="$EXAMPLE_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO" EXAMPLE="YES"
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
gem install xcpretty -N --no-ri --no-rdoc;
gem install cocoapods --pre --no-rdoc --no-ri --no-document;
brew update;
brew outdated carthage || brew upgrade carthage;
gem install slather;
fi
install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
eval "$(curl -sL https://swiftenv.fuller.li/install.sh)";
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
./install_swiftlint.sh;
fi
script:
- set -o pipefail
- swift -version
- if [ "$SPM" == "YES" ]; then
swift build;
swift test;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
xcodebuild -version;
xcodebuild -showsdks;
fi
- if [ "$RUN_TESTS" == "YES" ]; then
xcodebuild clean test -project "$PROJ" -scheme "$SCHEME" -destination "$DESTINATION" -enableCodeCoverage YES | xcpretty;
fi
- if [ "$RUN_TESTS" == "NO" ]; then
xcodebuild clean build -project "$PROJ" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release | xcpretty;
fi
- if [ "$EXAMPLE" == "YES" ]; then
xcodebuild clean build -project "$PROJ" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO | xcpretty;
fi
- if [ "$LINT" == "YES" ]; then
swiftlint;
pod lib lint --verbose;
carthage build --no-skip-current;
fi
after_success:
- if [ "$COVERAGE" == "YES" ]; then
slather;
fi