Permalink
Browse files

CI all Xcodes; Show it in README

  • Loading branch information...
mxcl committed Sep 6, 2017
1 parent 96ed215 commit 81b95f85c2b3c5023543a5b3ab3435298c103018
Showing with 65 additions and 35 deletions.
  1. +63 −33 .travis.yml
  2. +2 −2 README.md
View
@@ -1,70 +1,98 @@
matrix:
include:
- os: linux
dist: trusty
sudo: required
services: docker
env: DOCKER_IMAGE=swift:3.1
- os: osx
language: objective-c
osx_image: xcode8.3
env: PLAT=macOS SWFT=3.1
osx_image: xcode9
env: SWFT=4.0 PLAT=macOS
- os: osx
language: objective-c
osx_image: xcode8.3
env: PLAT=iOS SWFT=3.1
osx_image: xcode9
env: SWFT=4.0 PLAT=iOS
- os: osx
language: objective-c
osx_image: xcode8.3
env: PLAT=tvOS SWFT=3.1
osx_image: xcode9
env: SWFT=4.0 PLAT=tvOS
- os: osx
language: objective-c
osx_image: xcode8.3
env: PLAT=watchOS SWFT=3.1
osx_image: xcode9
env: SWFT=4.0 PLAT=watchOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=macOS SWFT=3.2
env: SWFT=3.2 PLAT=macOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=iOS SWFT=3.2
env: SWFT=3.2 PLAT=iOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=tvOS SWFT=3.2
env: SWFT=3.2 PLAT=tvOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=watchOS SWFT=3.2
env: SWFT=3.2 PLAT=watchOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=macOS SWFT=4.0
osx_image: xcode8.3
env: SWFT=3.1 PLAT=macOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=iOS SWFT=4.0
osx_image: xcode8.3
env: SWFT=3.1 PLAT=iOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=tvOS SWFT=4.0
osx_image: xcode8.3
env: SWFT=3.1 PLAT=tvOS
- os: osx
language: objective-c
osx_image: xcode9
env: PLAT=watchOS SWFT=4.0
osx_image: xcode8.3
env: SWFT=3.1 PLAT=watchOS
- os: osx
language: objective-c
osx_image: xcode8.2
env: PLAT=macOS SWFT=3.0
env: SWFT=3.0 PLAT=macOS
- os: osx
language: objective-c
osx_image: xcode8.2
env: SWFT=3.0 PLAT=iOS
- os: osx
language: objective-c
osx_image: xcode8.2
env: SWFT=3.0 PLAT=tvOS
- os: osx
language: objective-c
osx_image: xcode8.2
env: SWFT=3.0 PLAT=watchOS
- os: osx
language: objective-c
osx_image: xcode8.1
env: PLAT=macOS SWFT=3.0
env: SWFT=3.0 PLAT=macOS
- os: osx
language: objective-c
osx_image: xcode8
env: PLAT=macOS SWFT=3.0
osx_image: xcode8.1
env: SWFT=3.0 PLAT=iOS
- os: osx
language: objective-c
osx_image: xcode8.1
env: SWFT=3.0 PLAT=tvOS
- os: osx
language: objective-c
osx_image: xcode8.1
env: SWFT=3.0 PLAT=watchOS
- os: linux
dist: trusty
sudo: required
services: docker
env: DOCKER_IMAGE=swift:3.1
#TODO please help us test Linux with Swift 3.0, 3.2 and 4.0
before_install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
docker pull $DOCKER_IMAGE;
@@ -84,12 +112,14 @@ script:
- set -o pipefail;
case $PLAT in
macOS)
xcodebuild -scheme PromiseKit SWIFT_VERSION=$SWFT -quiet -enableCodeCoverage YES test | xcpretty;;
xcodebuild -scheme PromiseKit -quiet build SWIFT_VERSION=$SWFT -enableCodeCoverage YES | xcpretty;
xcodebuild -scheme PromiseKit -quiet test;;
iOS|tvOS)
open -a "simulator" --args -CurrentDeviceUDID "$UUID";
xcodebuild -scheme PromiseKit SWIFT_VERSION=$SWFT -destination "id=$UUID" -quiet -enableCodeCoverage YES test | xcpretty;;
open -b com.apple.iphonesimulator --args -CurrentDeviceUDID "$UUID";
xcodebuild -scheme PromiseKit -quiet -destination "id=$UUID" build SWIFT_VERSION=$SWFT -enableCodeCoverage YES | xcpretty;
xcodebuild -scheme PromiseKit -quiet -destination "id=$UUID" test;;
watchOS)
xcodebuild -scheme PromiseKit SWIFT_VERSION=$SWFT -destination "id=$UUID" -quiet | xcpretty;;
xcodebuild -scheme PromiseKit -quiet -destination "id=$UUID" -quiet clean build SWIFT_VERSION=$SWFT | xcpretty;;
*)
docker-compose run PromiseKit;;
esac
View
@@ -1,6 +1,6 @@
![PromiseKit](http://promisekit.org/public/img/logo-tight.png)
![badge-pod] ![badge-languages] ![badge-pms] ![badge-platforms] ![badge-mit]
![badge-pod] ![badge-languages] ![badge-pms] ![badge-platforms] [![Build Status](https://travis-ci.org/mxcl/PromiseKit.svg?branch=master)](https://travis-ci.org/mxcl/PromiseKit)
[繁體中文](README.zh_Hant.md), [简体中文](README.zh_CN.md)
@@ -38,7 +38,7 @@ use_frameworks!
pod "PromiseKit", "~> 4.4"
```
PromiseKit 4 supports Xcode 8 and 9, Swift 3.0, 3.1, 3.2 and Swift 4.0.
PromiseKit 4 supports Xcode 8.1, 8.2, 8.3 and 9; Swift 3.0, 3.1, 3.2 and 4.0; iOS, macOS, tvOS, watchOS and Linux; ([CI Matrix](https://travis-ci.org/mxcl/PromiseKit)).
For Carthage, SwiftPM, etc., or for instructions when using older Swifts or
Xcodes see our [Installation Guide](Documentation/Installation.md).

0 comments on commit 81b95f8

Please sign in to comment.