-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
52 lines (47 loc) · 2.26 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
os: osx
osx_image: xcode10.1
cache:
directories:
- Carthage
env:
global:
- WORKSPACE=RxGitLabKit.xcworkspace
- IOS_FRAMEWORK_SCHEME="RxGitLabKit-iOS"
- MACOS_FRAMEWORK_SCHEME="RxGitLabKit-macOS"
- TVOS_FRAMEWORK_SCHEME="RxGitLabKit-tvOS"
- WATCHOS_FRAMEWORK_SCHEME="RxGitLabKit-watchOS"
- DEMO_APP_SCHEME="RxGitLabKitDemoApp"
matrix:
- DESTINATION="OS=12.1,name=iPhone XS" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES"
- DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO"
- DESTINATION="OS=12.1,name=Apple TV" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO"
- DESTINATION="OS=5.1,name=Apple Watch Series 4 - 44mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO"
before_install:
- brew outdated carthage || brew upgrade carthage || true
before_script:
- |
if [ $SCHEME == $IOS_FRAMEWORK_SCHEME ]; then
carthage bootstrap --cache-builds --platform ios
elif [ $SCHEME == $MACOS_FRAMEWORK_SCHEME ]; then
carthage bootstrap --cache-builds --platform macos
elif [ $SCHEME == $TVOS_FRAMEWORK_SCHEME ]; then
carthage bootstrap --cache-builds --platform tvos
elif [ $SCHEME == $WATCHOS_FRAMEWORK_SCHEME ]; then
carthage bootstrap --cache-builds --platform watchos
fi
script:
- set -o pipefail
- xcodebuild -version
- xcodebuild -showsdks
# Build Framework in Release and Run Tests if specified
- |
if [ $RUN_TESTS == "YES" ]; then
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES CODE_SIGN_IDENTITY="" CODE_SIGN_REQUIRED=NO test | xcpretty -f `xcpretty-travis-formatter`
else
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGN_REQUIRED=NO build | xcpretty -f `xcpretty-travis-formatter`
fi
# Build Example in Debug if specified
- |
if [ $BUILD_EXAMPLE == "YES" ]; then
xcodebuild -workspace "$WORKSPACE" -scheme "$DEMO_APP_SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -f `xcpretty-travis-formatter`
fi