瀏覽代碼

Set up CI with Azure Pipelines

azure-pipelines[bot] 6 年之前
父節點
當前提交
2d571a9a9c
共有 1 個文件被更改,包括 64 次插入0 次删除
  1. 64 0
      azure-pipelines.yml

+ 64 - 0
azure-pipelines.yml

@@ -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()