diff --git a/.github/PromiseKit.podspec b/.github/PromiseKit.podspec index 7060736ac..ae5b63bfe 100644 --- a/.github/PromiseKit.podspec +++ b/.github/PromiseKit.podspec @@ -20,7 +20,10 @@ Pod::Spec.new do |s| s.documentation_url = 'http://promisekit.org/docs/' s.default_subspecs = 'CorePromise', 'UIKit', 'Foundation' s.requires_arc = true - s.swift_version = '4.0' + + # CocoaPods documentation (like usual) is unclear about the + # consequences of setting this; we support 3.2 THROUGH 4.2 + # s.swift_version = '4.0' # CocoaPods requires us to specify the root deployment targets # even though for us it is nonsense. Our root spec has no diff --git a/.travis.yml b/.travis.yml index b79ef78ff..f921a53b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ # - `pod lib lint` weirdness explanation: https://github.com/CocoaPods/CocoaPods/issues/7123 # - In Travis `cd foo` returns non-zero exit, hence `set +e` before changing directory +# - We need a newer version of npm in order to assemble our JS/A+ tests branches: only: @@ -66,22 +67,30 @@ cache: - Tests/JS-A+/build - Tests/JS-A+/node_modules before_install: + set -e; if [ "$TRAVIS_OS_NAME" == "linux" ]; then eval "$(curl -sL https://swiftenv.fuller.li/install.sh)"; + else + if [[ $POD_LINT == "1" || $PLAT == "macOS" ]]; then + mv .github/PromiseKit.podspec .; + gem install cocoapods --prerelease --version 1.6.0.beta.1; + fi; + if [ "$TEST" == "1" ]; then + npm install -g npm; + fi; fi install: + set -e; case $PLAT in - iOS|tvOS|macOS|watchOS) - set -e; + iOS|tvOS|macOS|watchOS) xcodebuild -scheme PromiseKit -target PromiseKit SWIFT_VERSION=$SWFT -quiet -destination "$DST" SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build; if [ "$TEST" == "1" ]; then - npm install -g npm; set +e; cd Tests/JS-A+; set -e; npm ci; npm run build; - set +ex; + set +e; cd ../..; set -e; xcodebuild -scheme PromiseKit -quiet -destination "$DST" build; @@ -89,8 +98,6 @@ install: *) if [[ $POD_LINT != "1" ]]; then swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION; - else - gem install cocoapods --pre; fi;; esac script: @@ -99,6 +106,9 @@ script: iOS|tvOS|macOS) if [[ $TEST == "1" ]]; then xcodebuild -scheme PromiseKit -destination "$DST" test -enableCodeCoverage YES; + fi; + if [[ $PLAT == "macOS" ]]; then + pod lib lint --subspec=PromiseKit/CorePromise --fail-fast --swift-version=$SWFT; fi;; watchOS) ;; @@ -106,8 +116,7 @@ script: if [[ $TEST == "1" ]]; then swift test -Xswiftc -swift-version -Xswiftc 4; elif [[ $POD_LINT == "1" ]]; then - mv .github/PromiseKit.podspec .; - pod lib lint --fail-fast --verbose | ruby -e 'ARGF.each{ print "." }'; + pod lib lint --fail-fast --verbose --swift-version=4.2 | ruby -e 'ARGF.each{ print "." }'; fi;; esac after_success: diff --git a/Extensions/CloudKit b/Extensions/CloudKit index 0d976fb98..d8dabf5ab 160000 --- a/Extensions/CloudKit +++ b/Extensions/CloudKit @@ -1 +1 @@ -Subproject commit 0d976fb9836d2fab697b6077867dd821a76cf4fe +Subproject commit d8dabf5ab97d89420ed4b2c1073456e4926c3528