1
+ # - `pod lib lint` weirdness explanation: https://github.com/CocoaPods/CocoaPods/issues/7123
2
+ # - In Travis `cd foo` returns non-zero exit, hence `set +e` before changing directory
3
+
1
4
matrix :
2
5
include :
6
+ - {osx_image: xcode10, env: 'POD_LINT=1', os: osx, language: objective-c}
7
+
3
8
- {osx_image: xcode8.3, env: 'SWFT=3.1 PLAT=iOS DST="OS=10.3.1,name=iPhone SE"', os: osx, language: objective-c}
4
9
- {osx_image: xcode8.3, env: 'SWFT=3.1 PLAT=tvOS DST="OS=10.2,name=Apple TV 1080p"', os: osx, language: objective-c}
5
10
- {osx_image: xcode8.3, env: 'SWFT=3.1 PLAT=macOS DST="arch=x86_64"', os: osx, language: objective-c}
@@ -47,15 +52,23 @@ matrix:
47
52
# Swift 3.3
48
53
- {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.1.2 TEST=1'}
49
54
# Swift 3.4
50
- - {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=3 SWIFT_VERSION=DEVELOPMENT-SNAPSHOT-2018-06-20-a TEST=1'}
55
+ - {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2 TEST=1'}
51
56
# Swift 4.0
52
57
- {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0.3'}
53
58
# Swift 4.1
54
59
- {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2 TEST=1'}
55
60
# Swift 4.2
56
- - {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=4 SWIFT_VERSION=DEVELOPMENT-SNAPSHOT-2018-06-20-a TEST=1'}
61
+ - {os: linux, dist: trusty, sudo: required, language: generic, env: 'SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2 TEST=1'}
57
62
cache :
58
63
- Tests/JS-A+/build
64
+ - Tests/JS-A+/node_modules
65
+ deploy :
66
+ provider : script
67
+ script :
68
+ - mv .github/PromiseKit.podspec .
69
+ - pod trunk push
70
+ on :
71
+ tags : true
59
72
before_install :
60
73
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
61
74
eval "$(curl -sL https://swiftenv.fuller.li/install.sh)";
@@ -65,25 +78,27 @@ install:
65
78
iOS|tvOS|macOS|watchOS)
66
79
set -e;
67
80
xcodebuild -scheme PromiseKit -target PromiseKit SWIFT_VERSION=$SWFT -quiet -destination "$DST" SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build;
68
- set +e;
69
81
if [ "$TEST" == "1" ]; then
70
- set -e;
71
82
npm install -g npm;
72
83
set +e;
73
84
cd Tests/JS-A+;
74
- set -ex ;
85
+ set -e ;
75
86
npm ci;
76
87
npm run build;
77
88
set +ex;
78
89
cd ../..;
79
90
set -e;
80
91
xcodebuild -scheme PromiseKit -quiet -destination "$DST" build;
81
- set +e;
82
92
fi;;
83
93
*)
84
- swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION;;
94
+ if [[ $POD_LINT != "1" ]]; then
95
+ swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION;
96
+ else
97
+ gem install cocoapods --pre;
98
+ fi;;
85
99
esac
86
100
script :
101
+ set -e;
87
102
case $PLAT in
88
103
iOS|tvOS|macOS)
89
104
if [[ $TEST == "1" ]]; then
@@ -94,9 +109,12 @@ script:
94
109
*)
95
110
if [[ $TEST == "1" ]]; then
96
111
swift test -Xswiftc -swift-version -Xswiftc 4;
112
+ elif [[ $POD_LINT == "1" ]]; then
113
+ mv .github/PromiseKit.podspec .;
114
+ pod lib lint --fail-fast --verbose | ruby -e 'ARGF.each{ print "." }';
97
115
fi;;
98
116
esac
99
117
after_success :
100
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
118
+ if [ "$TRAVIS_OS_NAME" == "osx" && $POD_LINT != "1" ]; then
101
119
bash <(curl -s https://codecov.io/bash);
102
120
fi
0 commit comments