forked from m-lab/ndt7-client-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
executable file
·73 lines (70 loc) · 4.38 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
dist: trusty
language: objective-c
os: osx
addons:
sonarcloud:
organization: "m-lab"
env:
global:
- WORKSPACE=NDT7.xcworkspace
- IOS_FRAMEWORK_SCHEME="NDT7 iOS"
- TVOS_FRAMEWORK_SCHEME="NDT7 tvOS"
- MACOS_FRAMEWORK_SCHEME="NDT7 macOS"
- WATCHOS_FRAMEWORK_SCHEME="NDT7 watchOS"
- EXAMPLE_SCHEME="NDT7 iOS Example"
matrix:
include:
- osx_image: xcode11.2
env: DESTINATION="OS=3.2,name=Apple Watch Series 2 - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=4.2,name=Apple Watch Series 3 - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=5.2,name=Apple Watch Series 4 - 44mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=6.1,name=Apple Watch Series 5 - 44mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=10.3.1,name=iPhone 7 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=11.4,name=iPhone X" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=12.2,name=iPhone X" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=13.2.2,name=iPhone 11 Pro Max" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=11.4,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=12.2,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="OS=13.2,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" CODECOV_CHECK="NO" SONAR_SCANNER="NO"
- osx_image: xcode11.2
env: DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="YES" CODECOV_CHECK="YES" SONAR_SCANNER="YES"
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" -derivedDataPath Build/ -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES -enableCodeCoverage YES CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO test | xcpretty;
else
xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -derivedDataPath Build/ -configuration Release ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty;
fi
# Build Example in Debug if specified
- if [ $BUILD_EXAMPLE == "YES" ]; then
xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -destination "$DESTINATION" -derivedDataPath Build/ -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty;
fi
# Run `pod lib lint` if specified
- if [ $POD_LINT == "YES" ]; then
pod lib lint --verbose;
fi
after_success:
# Run codecov if specified
- if [ $CODECOV_CHECK == "YES" ]; then
bash <(curl -s https://codecov.io/bash) -D Build;
fi
# Run Sonar scanner
- if [ $SONAR_SCANNER == "YES" ]; then
bash xccov-to-sonarqube-generic.sh Build/Logs/Test/*.xcresult/*_Test/*.xccovarchive/ > sonarqube-generic-coverage.xml;
sonar-scanner;
fi