.travis.yml
env:
global:
- IOS_SCHEME="Queuer iOS"
- MACOS_SCHEME="Queuer macOS"
- TVOS_SCHEME="Queuer tvOS"
- WATCHOS_SCHEME="Queuer watchOS"
matrix:
include:
- name: Ubuntu 14.04 / SwiftPM
os: linux
language: generic
sudo: required
dist: trusty
env: SPM="YES"
- name: Ubuntu 16.04 / SwiftPM
os: linux
language: generic
sudo: required
dist: xenial
env: SPM="YES"
- name: Ubuntu 18.04 / SwiftPM
os: linux
language: generic
sudo: required
dist: bionic
env: SPM="YES"
- name: macOS / Xcode 11.1 / SwiftPM
os: osx
language: objective-c
osx_image: xcode11.1
env: SPM="YES"
- name: macOS / Xcode 10.2 / SwiftPM
os: osx
language: objective-c
osx_image: xcode10.2
env: SPM="YES"
- name: macOS / Xcode 11.1 / iOS 13.1 / iPhone 11 Pro Max
os: osx
language: objective-c
osx_image: xcode11.1
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=13.1,name=iPhone 11 Pro Max" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / iOS 12.2 / iPhone X
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=12.2,name=iPhone X" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="YES"
- name: macOS / Xcode 10.2 / iOS 11.4 / iPhone 7 Plus
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=11.4,name=iPhone 7 Plus" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" LINT="YES" COVERAGE="NO"
- name: macOS / Xcode 10.2 / iOS 10.3.1 / iPhone 6
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=10.3.1,name=iPhone 6" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 11.1 / tvOS 13.1 / Apple TV 4K
os: osx
language: objective-c
osx_image: xcode11.1
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=13.0,name=Apple TV 4K" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / tvOS 12.2 / Apple TV 4K
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=12.2,name=Apple TV 4K" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / tvOS 11.2 / Apple TV 4K
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=11.2,name=Apple TV 4K" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 11.1 / watchOS 6.0 / Apple Watch Series 5 - 44mm
os: osx
language: objective-c
osx_image: xcode11.1
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=6.0,name=Apple Watch Series 5 - 44mm" SCHEME="$WATCHOS_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / watchOS 5.2 / Apple Watch Series 4 - 44mm
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=5.2,name=Apple Watch Series 4 - 44mm" SCHEME="$WATCHOS_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / watchOS 4.2 / Apple Watch Series 3 - 38mm
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=4.2,name=Apple Watch Series 3 - 38mm" SCHEME="$WATCHOS_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2 / watchOS 3.2 / Apple Watch Series 2 - 42mm
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="OS=3.2,name=Apple Watch Series 2 - 42mm" SCHEME="$WATCHOS_SCHEME" RUN_TESTS="NO" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 10.2
os: osx
language: objective-c
osx_image: xcode10.2
env: PROJ="Queuer.xcodeproj" DESTINATION="arch=x86_64" SCHEME="$MACOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
- name: macOS / Xcode 11.1
os: osx
language: objective-c
osx_image: xcode11.1
env: PROJ="Queuer.xcodeproj" DESTINATION="arch=x86_64" SCHEME="$MACOS_SCHEME" RUN_TESTS="YES" LINT="NO" COVERAGE="NO"
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
gem install xcpretty -N --no-ri --no-rdoc;
gem install cocoapods --pre --no-rdoc --no-ri --no-document;
brew update;
brew outdated carthage || brew upgrade carthage;
gem install slather;
fi
install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
eval "$(curl -sL https://swiftenv.fuller.li/install.sh)";
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
./install_swiftlint.sh;
fi
script:
- set -o pipefail
- swift -version
- if [ "$SPM" == "YES" ]; then
swift package clean;
ruby generate_linux_tests.rb;
swift test;
fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
xcodebuild -version;
xcodebuild -showsdks;
fi
- if [ "$RUN_TESTS" == "YES" ]; then
xcodebuild clean test -project "$PROJ" -scheme "$SCHEME" -destination "$DESTINATION" -enableCodeCoverage YES | xcpretty;
fi
- if [ "$RUN_TESTS" == "NO" ]; then
xcodebuild clean build -project "$PROJ" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release | xcpretty;
fi
- if [ "$LINT" == "YES" ]; then
swiftlint;
pod lib lint --verbose;
carthage build --no-skip-current;
fi
after_success:
- if [ "$COVERAGE" == "YES" ]; then
slather;
fi