Skip to content

Commit 9f67977

Browse files
committed
chore: Refactor Travis to use build matrix
1 parent 20f2efe commit 9f67977

File tree

1 file changed

+37
-13
lines changed

1 file changed

+37
-13
lines changed

.travis.yml

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,44 @@
11
os:
2-
- linux
3-
- osx
2+
- osx
3+
- linux
4+
osx_image: xcode9
45
language: generic
56
sudo: required
67
dist: trusty
7-
osx_image: xcode9
88
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+
1036
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+
1339
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

Comments
 (0)