|
@@ -0,0 +1,64 @@
|
|
|
|
+jobs:
|
|
|
|
+- job: macOS
|
|
|
|
+ pool:
|
|
|
|
+ vmImage: 'macOS-10.13'
|
|
|
|
+ strategy:
|
|
|
|
+ maxParallel: 10
|
|
|
|
+ matrix:
|
|
|
|
+ xcode901:
|
|
|
|
+ XCODE_APP: 'Xcode_9.0.1'
|
|
|
|
+ xcode91:
|
|
|
|
+ XCODE_APP: 'Xcode_9.1'
|
|
|
|
+ xcode92:
|
|
|
|
+ XCODE_APP: 'Xcode_9.2'
|
|
|
|
+ xcode931:
|
|
|
|
+ XCODE_APP: 'Xcode_9.3.1'
|
|
|
|
+ xcode941:
|
|
|
|
+ XCODE_APP: 'Xcode_9.4.1'
|
|
|
|
+ POD_LIB_LINT: 'true'
|
|
|
|
+ xcode10:
|
|
|
|
+ XCODE_APP: 'Xcode_10'
|
|
|
|
+ XCODE_FLAGS_FOR_TEST: -parallel-testing-enabled NO
|
|
|
|
+ steps:
|
|
|
|
+ - script: |
|
|
|
|
+ sudo xcode-select -s /Applications/$XCODE_APP.app
|
|
|
|
+ echo "##vso[task.setvariable variable=XCODE_FLAGS]-scheme Base32 $XCODE_FLAGS_FOR_TEST"
|
|
|
|
+ displayName: xcode-select & set XCODE_FLAGS
|
|
|
|
+ - script: >
|
|
|
|
+ set -o pipefail &&
|
|
|
|
+ xcodebuild $XCODE_FLAGS test |
|
|
|
|
+ xcpretty -r junit -o build/reports/xcodebuild-macOS.xml
|
|
|
|
+ displayName: tests on macOS
|
|
|
|
+ condition: succeededOrFailed()
|
|
|
|
+ - script: >
|
|
|
|
+ set -o pipefail &&
|
|
|
|
+ xcodebuild $XCODE_FLAGS test -sdk iphonesimulator -destination "name=iPhone 8" |
|
|
|
|
+ xcpretty -r junit -o build/reports/xcodebuild-iOS.xml
|
|
|
|
+ displayName: tests on iOS
|
|
|
|
+ condition: succeededOrFailed()
|
|
|
|
+ - script: >
|
|
|
|
+ set -o pipefail &&
|
|
|
|
+ xcodebuild $XCODE_FLAGS test -sdk appletvsimulator -destination "name=Apple TV 4K" |
|
|
|
|
+ xcpretty -r junit -o build/reports/xcodebuild-tvOS.xml
|
|
|
|
+ displayName: tests on tvOS
|
|
|
|
+ condition: succeededOrFailed()
|
|
|
|
+ - script: >
|
|
|
|
+ set -o pipefail &&
|
|
|
|
+ xcodebuild $XCODE_FLAGS build -sdk watchsimulator -destination "name=Apple Watch Series 3 - 38mm" |
|
|
|
|
+ xcpretty -r junit -o build/reports/xcodebuild-watchOS.xml
|
|
|
|
+ displayName: build on watchOS
|
|
|
|
+ condition: succeededOrFailed()
|
|
|
|
+ - script: >
|
|
|
|
+ set -o pipefail &&
|
|
|
|
+ swift test 2>&1 |
|
|
|
|
+ xcpretty -r junit -o build/reports/swift-test.xml
|
|
|
|
+ displayName: swift test
|
|
|
|
+ condition: succeededOrFailed()
|
|
|
|
+ - script: pod lib lint
|
|
|
|
+ displayName: pod lib lint
|
|
|
|
+ condition: eq(variables['POD_LIB_LINT'], 'true')
|
|
|
|
+ - task: PublishTestResults@2
|
|
|
|
+ inputs:
|
|
|
|
+ testRunner: JUnit
|
|
|
|
+ testResultsFiles: build/reports/**
|
|
|
|
+ condition: succeededOrFailed()
|