126 lines
3.6 KiB
YAML
126 lines
3.6 KiB
YAML
branches:
|
|
only:
|
|
- master
|
|
stages:
|
|
- lint
|
|
- compile
|
|
- test
|
|
jobs:
|
|
include:
|
|
- &pod
|
|
stage: lint
|
|
osx_image: xcode8.3
|
|
env: SWIFT=3.1
|
|
name: pod lib lint --swift-version=3.1
|
|
os: osx
|
|
language: objective-c
|
|
before_install:
|
|
gem install cocoapods --prerelease --version 1.6.0.beta.1
|
|
install:
|
|
carthage bootstrap --no-build PromiseKit
|
|
script: |
|
|
cd Carthage/Checkouts/PromiseKit
|
|
mv .github/PromiseKit.podspec .
|
|
rm -rf Extensions/Foundation/Sources
|
|
cp -R ../../../Sources Extensions/Foundation
|
|
pod lib lint --subspec=PromiseKit/Foundation --fail-fast --swift-version=$SWIFT
|
|
- <<: *pod
|
|
osx_image: xcode9.2
|
|
env: SWIFT=3.2
|
|
name: pod lib lint --swift-version=3.2
|
|
- <<: *pod
|
|
osx_image: xcode9.4
|
|
env: SWIFT=3.3
|
|
name: pod lib lint --swift-version=3.3
|
|
- <<: *pod
|
|
osx_image: xcode10
|
|
env: SWIFT=3.4
|
|
name: pod lib lint --swift-version=3.4
|
|
- <<: *pod
|
|
osx_image: xcode9.2
|
|
env: SWIFT=4.0
|
|
name: pod lib lint --swift-version=4.0
|
|
- <<: *pod
|
|
osx_image: xcode9.4
|
|
env: SWIFT=4.1
|
|
name: pod lib lint --swift-version=4.1
|
|
- <<: *pod
|
|
osx_image: xcode10
|
|
env: SWIFT=4.2
|
|
name: pod lib lint --swift-version=4.2
|
|
|
|
- &linux
|
|
stage: compile
|
|
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.0
|
|
# ^^ we have some source-conditionals for this version
|
|
name: Linux / Swift 3.2.0
|
|
os: linux
|
|
dist: trusty
|
|
sudo: required
|
|
language: generic
|
|
before_install:
|
|
eval "$(curl -sL https://swiftenv.fuller.li/install.sh)"
|
|
script:
|
|
swift build -Xswiftc -swift-version -Xswiftc $SWIFT_BUILD_VERSION
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.0.3
|
|
name: Linux / Swift 3.2.3
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.1.2
|
|
name: Linux / Swift 3.3
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=3 SWIFT_VERSION=4.2
|
|
name: Linux / Swift 3.4
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0
|
|
name: Linux / Swift 4.0.0
|
|
# ^^ we have some source-conditionals for this version
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.0.3
|
|
name: Linux / Swift 4.0.3
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.1.2
|
|
name: Linux / Swift 4.1
|
|
- <<: *linux
|
|
env: SWIFT_BUILD_VERSION=4 SWIFT_VERSION=4.2
|
|
name: Linux / Swift 4.2
|
|
|
|
- &swiftpm
|
|
stage: compile
|
|
name: Xcode 8.3 / SwiftPM
|
|
os: osx
|
|
osx_image: xcode8.3
|
|
language: objective-c
|
|
script: swift build
|
|
- <<: *swiftpm
|
|
name: Xcode 9.4 / SwiftPM
|
|
osx_image: xcode9.4
|
|
- <<: *swiftpm
|
|
name: Xcode 10.0 / SwiftPM
|
|
osx_image: xcode10
|
|
|
|
- &test
|
|
stage: test
|
|
osx_image: xcode10
|
|
name: macOS Tests
|
|
env: DST='arch=x86_64' PLAT=macOS
|
|
os: osx
|
|
language: objective-c
|
|
cache:
|
|
directories:
|
|
- Carthage
|
|
before_install:
|
|
carthage bootstrap --cache-builds --no-use-binaries --platform $PLAT
|
|
install:
|
|
xcodebuild -scheme PMKFoundation -target PMKFoundation -quiet -destination "$DST" SWIFT_TREAT_WARNINGS_AS_ERRORS=YES build
|
|
script:
|
|
xcodebuild -scheme PMKFoundation -quiet -destination "$DST" test
|
|
after_success:
|
|
bash <(curl -s https://codecov.io/bash);
|
|
- <<: *test
|
|
env: DST='OS=12.0,name=iPhone SE' PLAT=iOS
|
|
name: iOS Tests
|
|
- <<: *test
|
|
env: DST='OS=12.0,name=Apple TV' PLAT=tvOS
|
|
name: tvOS Tests
|