.travis.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. language: objective-c
  2. osx_image: xcode9.2
  3. branches:
  4. only:
  5. - master
  6. env:
  7. global:
  8. - LC_CTYPE=en_US.UTF-8
  9. - LANG=en_US.UTF-8
  10. - WORKSPACE=Alamofire.xcworkspace
  11. - IOS_FRAMEWORK_SCHEME="Alamofire iOS"
  12. - MACOS_FRAMEWORK_SCHEME="Alamofire macOS"
  13. - TVOS_FRAMEWORK_SCHEME="Alamofire tvOS"
  14. - WATCHOS_FRAMEWORK_SCHEME="Alamofire watchOS"
  15. - EXAMPLE_SCHEME="iOS Example"
  16. matrix:
  17. - DESTINATION="OS=4.2,name=Apple Watch - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO"
  18. - DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO"
  19. - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="$WATCHOS_FRAMEWORK_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO"
  20. - DESTINATION="OS=11.2,name=iPhone X" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES"
  21. - DESTINATION="OS=10.3.1,name=iPhone 7 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
  22. - DESTINATION="OS=9.3,name=iPhone 6" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
  23. - DESTINATION="OS=8.4,name=iPhone 4S" SCHEME="$IOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
  24. - DESTINATION="OS=11.2,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
  25. - DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
  26. - DESTINATION="OS=9.2,name=Apple TV 1080p" SCHEME="$TVOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
  27. - DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
  28. before_install:
  29. - gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet
  30. script:
  31. - set -o pipefail
  32. - xcodebuild -version
  33. - xcodebuild -showsdks
  34. # Build Framework in Debug and Run Tests if specified
  35. - if [ $RUN_TESTS == "YES" ]; then
  36. xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty;
  37. else
  38. xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty;
  39. fi
  40. # Build Framework in Release and Run Tests if specified
  41. - if [ $RUN_TESTS == "YES" ]; then
  42. xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty;
  43. else
  44. xcodebuild -workspace "$WORKSPACE" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty;
  45. fi
  46. # Build Example in Debug if specified
  47. - if [ $BUILD_EXAMPLE == "YES" ]; then
  48. xcodebuild -workspace "$WORKSPACE" -scheme "$EXAMPLE_SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty;
  49. fi
  50. # Run `pod lib lint` if specified
  51. - if [ $POD_LINT == "YES" ]; then
  52. pod lib lint;
  53. fi