|
1 | 1 | os:
|
2 |
| -- linux |
3 |
| -- osx |
| 2 | + - osx |
| 3 | + - linux |
| 4 | +osx_image: xcode9 |
4 | 5 | language: generic
|
5 | 6 | sudo: required
|
6 | 7 | dist: trusty
|
7 |
| -osx_image: xcode9 |
8 | 8 | env:
|
9 |
| -- SWIFT_VERSION=4.0 |
| 9 | + global: |
| 10 | + - SWIFT_VERSION=4.0 |
| 11 | + matrix: |
| 12 | + - SWIFTPM_BUILD=true |
| 13 | + - SWIFTPM_TEST=true |
| 14 | + - XCODE_TEST_SDK=macosx |
| 15 | + - XCODE_BUILD_SDK=iphonesimulator |
| 16 | + - XCODE_BUILD_SDK=appletvsimulator |
| 17 | + - XCODE_BUILD_SDK=watchsimulator |
| 18 | + |
| 19 | +matrix: |
| 20 | + exclude: |
| 21 | + # No need to build and test on macOS |
| 22 | + - os: osx |
| 23 | + env: SWIFTPM_BUILD=true |
| 24 | + # LinuxMain.swift is out of sync |
| 25 | + - os: linux |
| 26 | + env: SWIFTPM_TEST=true |
| 27 | + - os: linux |
| 28 | + env: XCODE_TEST_SDK=macosx |
| 29 | + - os: linux |
| 30 | + env: XCODE_BUILD_SDK=iphonesimulator |
| 31 | + - os: linux |
| 32 | + env: XCODE_BUILD_SDK=appletvsimulator |
| 33 | + - os: linux |
| 34 | + env: XCODE_BUILD_SDK=watchsimulator |
| 35 | + |
10 | 36 | install:
|
11 |
| -- if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then eval "$(curl -sL https://gist.githubusercontent.com/kylef/5c0475ff02b7c7671d2a/raw/9f442512a46d7a2af7b850d65a7e9bd31edfb09b/swiftenv-install.sh)"; fi |
12 |
| -- git submodule update --init --recursive |
| 37 | + - eval "$(curl -sL https://swiftenv.fuller.li/install.sh)" |
| 38 | + |
13 | 39 | script:
|
14 |
| -- swift test |
15 |
| -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then swift package generate-xcodeproj; fi |
16 |
| -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package test -sdk macosx; fi |
17 |
| -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package build -sdk iphonesimulator; fi |
18 |
| -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package build -sdk appletvsimulator; fi |
19 |
| -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package build -sdk watchsimulator; fi |
20 |
| -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pod lib lint --allow-warnings; fi |
| 40 | +- if [ -n "$SWIFTPM_BUILD" ]; then swift build; fi |
| 41 | +- if [ -n "$SWIFTPM_TEST" ]; then swift test; fi |
| 42 | +- if [ -n "$XCODE_BUILD_SDK" ] || [ -n "$XCODE_TEST_SDK" ]; then swift package generate-xcodeproj; fi |
| 43 | +- if [ -n "$XCODE_BUILD_SDK" ]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package build -sdk $XCODE_BUILD_SDK; fi |
| 44 | +- if [ -n "$XCODE_TEST_SDK" ]; then xcodebuild -project JWT.xcodeproj -scheme JWT-Package test -sdk $XCODE_TEST_SDK; fi |
0 commit comments