From 2d33fb8e5fde29bcac227a176de7da7cb40f49df Mon Sep 17 00:00:00 2001 From: Christian Noon Date: Thu, 22 Oct 2015 20:30:19 -0700 Subject: [PATCH] Travis-CI now runs watchOS and tvOS builds and tests on xcode7.1 osx_image. --- .travis.yml | 63 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index ed475a6..7b9db16 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,37 +1,62 @@ language: objective-c -osx_image: xcode7 -branches: - except: - - tvOS +osx_image: xcode7.1 env: global: - LC_CTYPE=en_US.UTF-8 - LANG=en_US.UTF-8 + - WORKSPACE=Alamofire.xcworkspace + - IOS_FRAMEWORK_SCHEME="Alamofire iOS" + - OSX_FRAMEWORK_SCHEME="Alamofire OSX" + - TVOS_FRAMEWORK_SCHEME="Alamofire tvOS" + - WATCHOS_FRAMEWORK_SCHEME="Alamofire watchOS" + - IOS_SDK=iphonesimulator9.1 + - OSX_SDK=macosx10.11 + - TVOS_SDK=appletvsimulator9.0 + - WATCHOS_SDK=watchsimulator2.0 + - EXAMPLE_SCHEME="iOS Example" matrix: - - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="YES" - - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="OS=8.4,name=iPhone 6" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="Alamofire iOS" SDK=iphonesimulator9.0 BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="arch=x86_64" SCHEME="Alamofire OSX" SDK=macosx10.11 BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES" + - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=8.4,name=iPhone 6" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=9.1,name=iPhone 6S" SCHEME="$IOS_FRAMEWORK_SCHEME" SDK="$IOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="arch=x86_64" SCHEME="$OSX_FRAMEWORK_SCHEME" SDK="$OSX_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=9.0,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" SDK="$TVOS_SDK" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=2.0,name=Apple Watch - 38mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" SDK="$WATCHOS_SDK" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" before_install: - gem install cocoapods --no-rdoc --no-ri --no-document --quiet - gem install xcpretty --no-rdoc --no-ri --no-document --quiet script: - set -o pipefail - xcodebuild -version - - xcodebuild -project Alamofire.xcodeproj -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" - -configuration Debug ONLY_ACTIVE_ARCH=NO test | xcpretty -c - - xcodebuild -project Alamofire.xcodeproj -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" - -configuration Release ONLY_ACTIVE_ARCH=NO test | xcpretty -c - - if [ $BUILD_EXAMPLE == "YES" ]; then - xcodebuild -project "iOS Example.xcodeproj" -scheme "iOS Example" -sdk "$SDK" -destination "$DESTINATION" - -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + - xcodebuild -showsdks + + # Build Framework in Debug and Run Tests if specified + - if [ $RUN_TESTS == "YES" ]; then + xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO test | xcpretty -c; + else + xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + fi + + # Build Framework in Release and Run Tests if specified + - if [ $RUN_TESTS == "YES" ]; then + xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO test | xcpretty -c; + else + xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + fi + + # Build Example in Debug if specified + - if [ $BUILD_EXAMPLE == "YES" ]; then + xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; fi + + # Build Example in Release if specified - if [ $BUILD_EXAMPLE == "YES" ]; then - xcodebuild -project "iOS Example.xcodeproj" -scheme "iOS Example" -sdk "$SDK" -destination "$DESTINATION" - -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; fi + + # Run `pod lib lint` if specified - if [ $POD_LINT == "YES" ]; then pod lib lint; fi -- GitLab