Преглед на файлове

Merge pull request #38 from norio-nomura/swift-4.2

Swift 4.2
Norio Nomura преди 6 години
родител
ревизия
27948ad9ab
променени са 3 файла, в които са добавени 94 реда и са изтрити 71 реда
  1. 29 70
      .circleci/config.yml
  2. 1 1
      Base32.xcodeproj/Configs/Project.xcconfig
  3. 64 0
      azure-pipelines.yml

+ 29 - 70
.circleci/config.yml

@@ -1,100 +1,59 @@
 aliases:
-  - &xcode-9
-    shell: /bin/bash --login -eo pipefail
-    steps:
-      - checkout
-      - run: |
-          ( xcodebuild -scheme Base32 test # -sdk macosx -destination arch=x86_64
-            xcodebuild -scheme Base32 test -sdk iphonesimulator -destination "name=iPhone 8"
-            xcodebuild -scheme Base32 test -sdk appletvsimulator -destination "name=Apple TV 4K"
-            xcodebuild -scheme Base32 build -sdk watchsimulator -destination "name=Apple Watch Series 3 - 38mm"
-          ) | xcpretty -r junit
-      - store_test_results:
-          path: build/reports/
-      - run: echo "ruby-2.3" > ~/.ruby-version
-      - run: pod lib lint
-      - run: bash <(curl -s https://codecov.io/bash)
-
-  - &steps-for-spm
+  - &steps-for-swiftpm
     - checkout
     - run: swift test
 
 version: 2
 jobs:
-
-  xcode_9_swift_4:
-    macos:
-      xcode: "9.0"
-    <<: *xcode-9
-
-  xcode_9.1_swift_4.0.2:
-    macos:
-      xcode: "9.1.0"
-    <<: *xcode-9
-
-  xcode_9.2_swift_4.0.3:
-    macos:
-      xcode: "9.2.0"
-    <<: *xcode-9
-
-  xcode_9.3_swift_4.1:
-    macos:
-      xcode: "9.3.0"
-    <<: *xcode-9
-
-  spm_swift_4:
-    macos:
-      xcode: "9.0"
-    steps: *steps-for-spm
-
-  spm_swift_4.0.2:
-    macos:
-      xcode: "9.1.0"
-    steps: *steps-for-spm
-
-  spm_swift_4.0.3:
-    macos:
-      xcode: "9.2.0"
-    steps: *steps-for-spm
-
-  spm_swift_4.1:
-    macos:
-      xcode: "9.3.0"
-    steps: *steps-for-spm
-
   linux_swift_4:
     docker:
       - image: norionomura/swift:40
-    steps: *steps-for-spm
+    steps: *steps-for-swiftpm
 
   linux_swift_4.0.2:
     docker:
       - image: norionomura/swift:402
-    steps: *steps-for-spm
+    steps: *steps-for-swiftpm
 
   linux_swift_4.0.3:
     docker:
       - image: norionomura/swift:403
-    steps: *steps-for-spm
+    steps: *steps-for-swiftpm
 
   linux_swift_4.1:
     docker:
       - image: norionomura/swift:41
-    steps: *steps-for-spm
+    steps: *steps-for-swiftpm
+
+  linux_swift_4.1.1:
+    docker:
+      - image: norionomura/swift:411
+    steps: *steps-for-swiftpm
+
+  linux_swift_4.1.2:
+    docker:
+      - image: norionomura/swift:412
+    steps: *steps-for-swiftpm
+
+  linux_swift_4.1.3:
+    docker:
+      - image: norionomura/swift:413
+    steps: *steps-for-swiftpm
+
+  linux_swift_4.2:
+    docker:
+      - image: norionomura/swift:42
+    steps: *steps-for-swiftpm
 
 workflows:
   version: 2
   workflow:
     jobs:
-      - xcode_9_swift_4
-      - xcode_9.1_swift_4.0.2
-      - xcode_9.2_swift_4.0.3
-      - xcode_9.3_swift_4.1
-      - spm_swift_4
-      - spm_swift_4.0.2
-      - spm_swift_4.0.3
-      - spm_swift_4.1
       - linux_swift_4
       - linux_swift_4.0.2
       - linux_swift_4.0.3
       - linux_swift_4.1
+      - linux_swift_4.1.1
+      - linux_swift_4.1.2
+      - linux_swift_4.1.3
+      - linux_swift_4.2

+ 1 - 1
Base32.xcodeproj/Configs/Project.xcconfig

@@ -35,4 +35,4 @@ GCC_WARN_UNDECLARED_SELECTOR = YES;
 GCC_WARN_UNINITIALIZED_AUTOS = YES;
 GCC_WARN_UNUSED_FUNCTION = YES;
 GCC_WARN_UNUSED_VARIABLE = YES;
-SWIFT_VERSION = 4.0;
+SWIFT_VERSION = 4.2;

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