Files
Jot/Carthage/Checkouts/PromiseKit/.travis.yml
James Griffin be7b6b5881 Add PromiseKit dependency
- Added PromiseKit dependency
2018-11-15 22:12:39 -04:00

325 lines
9.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

branches:
only:
- master
- ^\d+\.\d+\.\d+$
stages:
- lint
- compile
- test
- deploy
jobs:
include:
- &macOS
stage: compile
osx_image: xcode8.3
env: SWIFT=3.1
name: macOS / Swift 3.1
os: osx
language: objective-c
install:
xcodebuild -scheme PromiseKit -target PromiseKit SWIFT_VERSION=$SWIFT -quiet SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
script: "true"
- <<: *macOS
osx_image: xcode9.2
env: SWIFT=3.2
name: macOS / Swift 3.2
- <<: *macOS
osx_image: xcode9.4
env: SWIFT=3.3
name: macOS / Swift 3.3
- <<: *macOS
osx_image: xcode10
env: SWIFT=3.4
name: macOS / Swift 3.4
- <<: *macOS
osx_image: xcode9.2
env: SWIFT=4.0
name: macOS / Swift 4.0
- <<: *macOS
osx_image: xcode9.4
env: SWIFT=4.1
name: macOS / Swift 4.1
- <<: *macOS
osx_image: xcode10
env: SWIFT=4.2
name: macOS / Swift 4.2
stage: test
script:
xcodebuild -scheme PromiseKit test -enableCodeCoverage YES
after_success:
bash <(curl -s https://codecov.io/bash)
- &iOS
stage: compile
osx_image: xcode8.3
env: SWIFT=3.1 DST="OS=10.3.1,name=iPhone SE"
name: iOS 10 / Swift 3.1
os: osx
language: objective-c
install:
xcodebuild -scheme PromiseKit -target PromiseKit SWIFT_VERSION=$SWIFT -destination "$DST" -quiet SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
script: "true"
- <<: *iOS
osx_image: xcode9.2
env: SWIFT=3.2 DST="OS=11.2,name=iPhone SE"
name: iOS 11 / Swift 3.2
- <<: *iOS
osx_image: xcode9.4
env: SWIFT=3.3 DST="OS=11.4,name=iPhone SE"
name: iOS 11 / Swift 3.3
- <<: *iOS
osx_image: xcode10
env: SWIFT=3.4 DST="OS=12.0,name=iPhone SE"
name: iOS 12 / Swift 3.4
- <<: *iOS
osx_image: xcode9.2
env: SWIFT=4.0 DST="OS=11.2,name=iPhone SE"
name: iOS 11 / Swift 4.0
- <<: *iOS
osx_image: xcode
env: SWIFT=4.1 DST="OS=8.4,name=iPhone 4s"
name: iOS 8 / Swift 4.1
- <<: *iOS
osx_image: xcode9.4
env: SWIFT=4.1 DST="OS=9.3,name=iPhone 5s"
name: iOS 9 / Swift 4.1
- <<: *iOS
osx_image: xcode9.4
env: SWIFT=4.1 DST="OS=10.3.1,name=iPhone SE"
name: iOS 10 / Swift 4.1
- <<: *iOS
osx_image: xcode9.4
env: SWIFT=4.1 DST="OS=11.4,name=iPhone SE"
name: iOS 11 / Swift 4.1
- <<: *iOS
osx_image: xcode10
env: SWIFT=4.2 DST="OS=12.0,name=iPhone SE"
name: iOS 12 / Swift 4.2
stage: test
script:
xcodebuild -scheme PromiseKit -destination "$DST" test -enableCodeCoverage YES
after_success:
bash <(curl -s https://codecov.io/bash)
- &tvOS
stage: compile
name: tvOS 10 / Swift 3.1
osx_image: xcode8.3
env: SWIFT=3.1 DST="OS=10.2,name=Apple TV 1080p"
os: osx
language: objective-c
install:
xcodebuild -scheme PromiseKit -target PromiseKit SWIFT_VERSION=$SWIFT -destination "$DST" -quiet SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
script: "true"
- <<: *tvOS
osx_image: xcode9.2
env: SWIFT=3.2 DST="OS=11.2,name=Apple TV"
name: tvOS 11 / Swift 3.2
- <<: *tvOS
osx_image: xcode9.4
env: SWIFT=3.3 DST="OS=11.4,name=Apple TV"
name: tvOS 11 / Swift 3.3
- <<: *tvOS
osx_image: xcode10
env: SWIFT=3.4 DST="OS=11.4,name=Apple TV"
name: tvOS 11 / Swift 3.4
- <<: *tvOS
osx_image: xcode9.2
env: SWIFT=4.0 DST="OS=11.2,name=Apple TV"
name: tvOS 11 / Swift 4.0
- <<: *tvOS
osx_image: xcode9.3
env: SWIFT=4.1 DST="OS=9.2,name=Apple TV 1080p"
name: tvOS 9 / Swift 4.1
- <<: *tvOS
osx_image: xcode9.3
env: SWIFT=4.1 DST="OS=10.2,name=Apple TV 1080p"
name: tvOS 10 / Swift 4.1
- <<: *tvOS
osx_image: xcode9.4
env: SWIFT=4.1 DST="OS=11.4,name=Apple TV"
name: tvOS 11 / Swift 4.1
- <<: *tvOS
osx_image: xcode10
env: SWIFT=4.2 DST="OS=12.0,name=Apple TV"
name: tvOS 12 / Swift 4.2
stage: test
script:
xcodebuild -scheme PromiseKit -destination "$DST" test -enableCodeCoverage YES
after_success:
bash <(curl -s https://codecov.io/bash)
- &watchOS
stage: compile
osx_image: xcode10
env: SWIFT=4.2 DST="OS=5.0,name=Apple Watch Series 3 - 42mm"
name: watchOS 5 / Swift 4.2
os: osx
language: objective-c
script:
xcodebuild -scheme PromiseKit SWIFT_VERSION=$SWIFT -destination "$DST" -quiet SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
- <<: *watchOS
osx_image: xcode8.3
env: SWIFT=3.1 DST="OS=3.2,name=Apple Watch - 38mm"
name: watchOS 3 / Swift 3.1
- <<: *watchOS
osx_image: xcode9.2
env: SWIFT=3.2 DST="OS=4.2,name=Apple Watch - 38mm"
name: watchOS 4 / Swift 3.2
- <<: *watchOS
osx_image: xcode9.4
env: SWIFT=3.3 DST="OS=4.3,name=Apple Watch - 38mm"
name: watchOS 4 / Swift 3.3
- <<: *watchOS
osx_image: xcode10
env: SWIFT=3.4 DST="OS=5.0,name=Apple Watch Series 3 - 42mm"
name: watchOS 5 / Swift 3.4
- <<: *watchOS
osx_image: xcode9.2
env: SWIFT=4.0 DST="OS=4.2,name=Apple Watch - 38mm"
name: watchOS 4 / Swift 4.0
- <<: *watchOS
osx_image: xcode9.3
env: SWIFT=4.1 DST="OS=2.2,name=Apple Watch - 38mm"
name: watchOS 2 / Swift 4.1
- <<: *watchOS
osx_image: xcode9.3
env: SWIFT=4.1 DST="OS=3.2,name=Apple Watch - 38mm"
name: watchOS 3 / Swift 4.1
- <<: *watchOS
osx_image: xcode9.4
env: SWIFT=4.1 DST="OS=4.3,name=Apple Watch - 38mm"
name: watchOS 4 / Swift 4.1
- <<: *watchOS
osx_image: xcode10
env: SWIFT=4.2 DST="OS=5.0,name=Apple Watch Series 3 - 42mm"
name: watchOS 5 / Swift 4.2
- &pod
stage: lint
osx_image: xcode10
env: SWIFT=4.2
name: pod lib lint --swift-version=4.2
os: osx
language: objective-c
before_install: |
mv .github/PromiseKit.podspec .
gem install cocoapods --prerelease --version 1.6.0.beta.1
script:
pod lib lint --subspec=PromiseKit/CorePromise --fail-fast --swift-version=$SWIFT
- <<: *pod
osx_image: xcode9.4
env: SWIFT=4.1
name: pod lib lint --swift-version=4.1
- <<: *pod
osx_image: xcode9.2
env: SWIFT=4.0
name: pod lib lint --swift-version=4.0
- <<: *pod
osx_image: xcode10
env: SWIFT=3.4
name: pod lib lint --swift-version=3.4
- <<: *pod
osx_image: xcode9.4
env: SWIFT=3.3
name: pod lib lint --swift-version=3.3
- <<: *pod
osx_image: xcode9.2
env: SWIFT=3.2
name: pod lib lint --swift-version=3.2
- <<: *pod
osx_image: xcode8.3
env: SWIFT=3.1
name: pod lib lint --swift-version=3.1
- &linux
stage: compile
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.0.3
name: Linux / Swift 3.2
os: linux
dist: trusty
sudo: required
language: generic
before_install:
eval "$(curl -sL https://swiftenv.fuller.li/install.sh)"
install:
swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
- <<: *linux
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.1.2
name: Linux / Swift 3.3
- <<: *linux
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2
name: Linux / Swift 3.4
- <<: *linux
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0.3
name: Linux / Swift 4.0
stage: test
install: swift test -Xswiftc -swift-version -Xswiftc 4
- <<: *linux
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
name: Linux / Swift 4.1
stage: test
install: swift test -Xswiftc -swift-version -Xswiftc 4
- <<: *linux
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2
name: Linux / Swift 4.2
stage: test
install: swift test -Xswiftc -swift-version -Xswiftc 4
# only run one instance of these since they test behavior
- stage: test
name: Promises/A+ via Javascript Bridge
language: objective-c
os: osx
osx_image: xcode10
before_install:
npm install -g npm
# ^^ need newer npm than comes with the image
install: |
cd Tests/JS-A+
set -e
npm ci
npm run build
set +e
# ^^ `cd` on travis returns a non-zero exit code!
cd ../..
xcodebuild -scheme PromiseKit -quiet SWIFT_VERSION=4.2 SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
script:
xcodebuild -scheme PromiseKit SWIFT_VERSION=4.2 test
# TODO only run the A+ tests
# TODO shouldnt build twice! Be kind to Travis.
cache:
- Tests/JS-A+/build
- Tests/JS-A+/node_modules
- stage: deploy
if: tag IS present
script: |
set -euxo pipefail
pod trunk push --verbose --swift-version=4.2 | ruby -e 'ARGF.each{ print "." }'
# This pipe because Travis times us out if there is no output
# AND `pod` defaults to hardly any output
# BUT `--verbose` generates so much output that Travis kills our script due to *too much* output!
os: osx
osx_image: xcode10
language: objective-c