pantuspavel/PPEventRegistryAPI

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
language: Objective-C

cache:
- bundler
- cocoapods

podfile: ./PPEventRegistryAPI

osx_image: xcode8.1

before_install:
- bundle
- pod repo update --silent
- pod install --project-directory=PPEventRegistryAPI
- pod install --project-directory=Example

notifications:
  email: false

env:
  global:
  - WORKSPACE=PPEventRegistryAPI/PPEventRegistryAPI.xcworkspace
  - WORKSPACE_EXAMPLE=Example/PPEventRegistryTest.xcworkspace
  - EXAMPLE_IOS="PPEventRegistryTest"
  - EXAMPLE_TVOS="PPEventRegistryTest tvOS"
  - EXAMPLE_WATCHOS="PPEventRegistryTest watchOS"
  - EXAMPLE_MACOS="PPEventRegistryTest macOS"
  - SCHEME_IOS="PPEventRegistryAPI iOS"
  - SCHEME_TVOS="PPEventRegistryAPI tvOS"
  - SCHEME_WATCHOS="PPEventRegistryAPI watchOS"
  - SCHEME_MACOS="PPEventRegistryAPI macOS"
  - SDK_IOS=iphonesimulator10.1
  - SDK_WATCHOS=watchsimulator3.1
  - SDK_TVOS=appletvsimulator10.0
  - SDK_MACOS=macosx10.12
  - DEST_IOS10="name=iPhone 7,OS=10.1"
  - DEST_IOS9="name=iPhone 5,OS=9.3"
  - DEST_IOS8="name=iPhone 5,OS=8.4"
  - DEST_WATCHOS3="name=Apple Watch - 42mm,OS=3.1"
  - DEST_WATCHOS2="name=Apple Watch - 42mm,OS=2.2"
  - DEST_TVOS10="name=Apple TV 1080p,OS=10.0"
  - DEST_TVOS9="name=Apple TV 1080p,OS=9.2"
  - DEST_MACOS="arch=x86_64"
  matrix:
  - DESTINATION="$DEST_IOS10"    SDK="$SDK_IOS"     SCHEME="$SCHEME_IOS"     RUN_TESTS="YES" SEND_COVERAGE="YES" POD_LINT="NO"  CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_IOS"     DEST_EXAMPLE="$DEST_IOS10"
  - DESTINATION="$DEST_IOS9"     SDK="$SDK_IOS"     SCHEME="$SCHEME_IOS"     RUN_TESTS="YES" SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_IOS"     DEST_EXAMPLE="$DEST_IOS9"
  - DESTINATION="$DEST_IOS8"     SDK="$SDK_IOS"     SCHEME="$SCHEME_IOS"     RUN_TESTS="YES" SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="NO"  SPM="YES" SCHEME_EXAMPLE="$EXAMPLE_IOS"     DEST_EXAMPLE="$DEST_IOS8"
  - DESTINATION="$DEST_WATCHOS3" SDK="$SDK_WATCHOS" SCHEME="$SCHEME_WATCHOS" RUN_TESTS="NO"  SEND_COVERAGE="NO"  POD_LINT="YES" CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_WATCHOS" DEST_EXAMPLE="$DEST_IOS10"
  - DESTINATION="$DEST_WATCHOS2" SDK="$SDK_WATCHOS" SCHEME="$SCHEME_WATCHOS" RUN_TESTS="NO"  SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="YES" SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_WATCHOS" DEST_EXAMPLE="$DEST_IOS10"
  - DESTINATION="$DEST_TVOS10"   SDK="$SDK_TVOS"    SCHEME="$SCHEME_TVOS"    RUN_TESTS="YES" SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_TVOS"    DEST_EXAMPLE="$DEST_TVOS10"
  - DESTINATION="$DEST_TVOS9"    SDK="$SDK_TVOS"    SCHEME="$SCHEME_TVOS"    RUN_TESTS="YES" SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_TVOS"    DEST_EXAMPLE="$DEST_TVOS9"
  - DESTINATION="$DEST_MACOS"    SDK="$SDK_MACOS"   SCHEME="$SCHEME_MACOS"   RUN_TESTS="YES" SEND_COVERAGE="NO"  POD_LINT="NO"  CARTHAGE="NO"  SPM="NO"  SCHEME_EXAMPLE="$EXAMPLE_MACOS"   DEST_EXAMPLE="$DEST_MACOS"

script:
- set -o pipefail

- if [ $RUN_TESTS == "YES" ]; then
    xcodebuild build-for-testing test-without-building -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=YES | xcpretty -c;
  else
    xcodebuild build -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=YES | xcpretty -c;
  fi

- xcodebuild build -workspace "$WORKSPACE_EXAMPLE" -scheme "$SCHEME_EXAMPLE" -destination "$DEST_EXAMPLE" ONLY_ACTIVE_ARCH=YES | xcpretty -c;

- if [ $POD_LINT == "YES" ]; then
    pod lib lint;
  fi

- if [ $CARTHAGE == "YES" ]; then
    carthage build --no-skip-current;
  fi

- if [ $SPM == "YES" ]; then
    swift build;
  fi

after_success:
  - test $SEND_COVERAGE = "YES" && ./.coverage.sh

before_deploy:
  - carthage build --no-skip-current
  - carthage archive PPEventRegistryAPI

deploy:
  provider: releases
  api_key:
    secure: AgErArIasadb9s9TdimhamLe8XN8v1gtmcTBotZi+Z2RdqPqHrIXw8YwkPentEeXx3/tIhWwps38yJvAh82A/Yrmji2beIUIMfZMAOGyOKZDdtLlVJzgz0LjE7Mrz4G8tmbGsXoL1/7iKnFIjewvnLEbiaKQYJ/zNsg1Q9nOWPpMZ5ZCWRFfF6SjXF/FQmK0UhQf1XBmt2Zjfvl1GDLGUFugCqCUWWGBhkOjFvoaWtxB4cJ6fq6X0UlkSn4MQBS5Sqfpead/snGEt1RA7UmRfJcCpG4OUjss4DUpaq4zADmp0Pp1BHHUNY8siBG9Nv76f6udaBdnSitgx1HEylatpJ/FRF0hj4NiqhHVpB/w1b01o8t8PHleloZGxprnLAV6zbUrYE/EPCmm7zEIXC+BjPdkCHJZsSQlECWphTKU9RFppUDzWPDecoRmM9VnDIcWFgm1hwFgyWWXhGw+lbMQZWsgnzedKe9SWpa5R7ObOPSho72Eay4CHpagaTAZu2bJYfuxrVQl4dGERsNYBpNF5RQxhGuNrdP+wDGEcOZAPT5crOzQfEhscqvrKh0hkaiankhvlXSdjFlvALp8e0vOsqn0cm3TJWNAuQD2EXoRp8MxHicpISNARj9UE/qNZa6TgSL3E+OvBX+5oij6giQXpmX56kagVc5/7e98ivmkXlk=
  file: PPEventRegistryAPI.framework.zip
  skip_cleanup: true
  on:
    repo: pantuspavel/PPEventRegistryAPI
    tags: true
    condition: $DESTINATION = "$DEST_IOS10"