Browse Source

Test with Xcode 9.4 on CI

Kishikawa Katsumi 6 years ago
parent
commit
9e3e6c437f
3 changed files with 67 additions and 32 deletions
  1. 11 3
      .travis.yml
  2. 3 3
      Lib/Gemfile.lock
  3. 53 26
      Lib/Rakefile

+ 11 - 3
.travis.yml

@@ -2,9 +2,6 @@ language: objective-c
 cache:
   directories:
   - Lib/vendor
-before_install:
-- brew update
-- brew outdated carthage || brew upgrade carthage
 install:
 - "(cd Lib && bundle install --path=vendor/bundle --binstubs=vendor/bin)"
 before_script:
@@ -14,6 +11,17 @@ script:
 - "(cd Lib && travis_retry bundle exec rake $ACTION)"
 matrix:
   include:
+  - osx_image: xcode9.4
+    env: ACTION=build
+  - osx_image: xcode9.4
+    env: ACTION='build:carthage'
+  - osx_image: xcode9.4
+    env: ACTION='test:iphonesimulator'
+  - osx_image: xcode9.4
+    env: ACTION='test:appletvsimulator'
+  - osx_image: xcode9.4
+    env: ACTION='test:macosx'
+
   - osx_image: xcode9.3
     env: ACTION=build
   - osx_image: xcode9.3

+ 3 - 3
Lib/Gemfile.lock

@@ -1,10 +1,10 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    rake (12.1.0)
+    rake (12.3.1)
     rouge (2.0.7)
     xcjobs (0.10.0)
-    xcpretty (0.2.8)
+    xcpretty (0.3.0)
       rouge (~> 2.0.7)
 
 PLATFORMS
@@ -16,4 +16,4 @@ DEPENDENCIES
   xcpretty
 
 BUNDLED WITH
-   1.15.4
+   1.16.3

+ 53 - 26
Lib/Rakefile

@@ -7,15 +7,14 @@ end
 
 def destinations(platform: 'iphonesimulator')
   if platform == 'iphonesimulator'
-    if xcode_version.start_with?('8')
-      [ 'name=iPhone 5,OS=10.0',
-        'name=iPhone 5s,OS=10.0',
-        'name=iPhone 6,OS=10.0',
-        'name=iPhone 6s Plus,OS=10.3.1',
-        'name=iPhone SE,OS=10.3.1',
-        'name=iPad Air 2,OS=10.0',
-        'name=iPad Pro (9.7-inch),OS=10.0',
-        'name=iPad Pro (12.9-inch),OS=10.0'
+    if xcode_version.start_with?('9.4')
+      [ 'name=iPhone 5s,OS=11.4',
+        'name=iPhone 6,OS=11.4',
+        'name=iPhone 6s Plus,OS=11.4',
+        'name=iPhone SE,OS=11.4',
+        'name=iPad Air 2,OS=11.4',
+        'name=iPad Pro (9.7-inch),OS=11.4',
+        'name=iPad Pro (12.9-inch),OS=11.4'
       ]
     elsif xcode_version.start_with?('9.3')
       [ 'name=iPhone 5s,OS=11.0.1',
@@ -47,7 +46,7 @@ def destinations(platform: 'iphonesimulator')
         'name=iPad Pro (9.7-inch),OS=11.1',
         'name=iPad Pro (12.9-inch),OS=11.1'
       ]
-    else
+    elsif xcode_version.start_with?('9')
       [ 'name=iPhone 5,OS=10.0',
         'name=iPhone 5s,OS=10.0',
         'name=iPhone 6,OS=10.0',
@@ -59,11 +58,21 @@ def destinations(platform: 'iphonesimulator')
         'name=iPad Pro (12.9-inch),OS=10.0',
         'name=iPad Pro (10.5-inch),OS=11.0'
       ]
+    else
+      [ 'name=iPhone 5,OS=10.0',
+        'name=iPhone 5s,OS=10.0',
+        'name=iPhone 6,OS=10.0',
+        'name=iPhone 6s Plus,OS=10.3.1',
+        'name=iPhone SE,OS=10.3.1',
+        'name=iPad Air 2,OS=10.0',
+        'name=iPad Pro (9.7-inch),OS=10.0',
+        'name=iPad Pro (12.9-inch),OS=10.0'
+      ]
     end
   elsif platform == 'watchsimulator'
-    if xcode_version.start_with?('8')
-      [ 'name=Apple Watch - 38mm,OS=3.2',
-        'name=Apple Watch Series 2 - 42mm,OS=3.2'
+    if xcode_version.start_with?('9.4')
+      [ 'name=Apple Watch Series 3 - 38mm,OS=4.3',
+        'name=Apple Watch Series 3 - 42mm,OS=4.3'
       ]
     elsif xcode_version.start_with?('9.3')
       [ 'name=Apple Watch - 38mm,OS=4.3',
@@ -80,15 +89,19 @@ def destinations(platform: 'iphonesimulator')
         'name=Apple Watch - 42mm,OS=4.1',
         'name=Apple Watch Series 2 - 42mm,OS=4.1'
       ]
-    else
+    elsif xcode_version.start_with?('9')
       [ 'name=Apple Watch - 38mm,OS=3.2',
         'name=Apple Watch - 42mm,OS=4.0',
         'name=Apple Watch Series 2 - 42mm,OS=4.0'
       ]
+    else
+      [ 'name=Apple Watch - 38mm,OS=3.2',
+        'name=Apple Watch Series 2 - 42mm,OS=3.2'
+      ]
     end
   elsif platform == 'appletvsimulator'
-    if xcode_version.start_with?('8')
-      [ 'name=Apple TV 1080p,OS=10.2'
+    if xcode_version.start_with?('9.4')
+      [ 'name=Apple TV 4K,OS=11.4'
       ]
     elsif xcode_version.start_with?('9.3')
       [ 'name=Apple TV 4K,OS=11.3'
@@ -99,10 +112,13 @@ def destinations(platform: 'iphonesimulator')
     elsif xcode_version.start_with?('9.1')
       [ 'name=Apple TV 4K,OS=11.1'
       ]
-    else
+    elsif xcode_version.start_with?('9')
       [ 'name=Apple TV 1080p,OS=10.2',
         'name=Apple TV 1080p,OS=11.0'
       ]
+    else
+      [ 'name=Apple TV 1080p,OS=10.2'
+      ]
     end
   else
     [
@@ -141,14 +157,14 @@ namespace :build do
         t.add_build_setting('CODE_SIGN_IDENTITY', '')
         t.add_build_setting('CODE_SIGNING_REQUIRED', 'NO')
       end
-      if xcode_version.start_with?('8')
-        t.add_build_setting('SWIFT_VERSION', '3.0')
+      if xcode_version.start_with?('9.4')
+        t.add_build_setting('SWIFT_VERSION', '4.1')
         if platform == 'iphonesimulator'
-          t.add_destination('name=iPhone 7,OS=10.3.1')
+          t.add_destination('name=iPhone 7,OS=11.4')
         elsif platform == 'watchsimulator'
-          t.add_destination('name=Apple Watch - 42mm,OS=3.2')
+          t.add_destination('name=Apple Watch Series 3 - 42mm,OS=4.3')
         elsif platform == 'appletvsimulator'
-          t.add_destination('name=Apple TV 1080p,OS=10.0')
+          t.add_destination('name=Apple TV 4K,OS=11.4')
         end
       elsif xcode_version.start_with?('9.3')
         t.add_build_setting('SWIFT_VERSION', '4.1')
@@ -177,7 +193,7 @@ namespace :build do
         elsif platform == 'appletvsimulator'
           t.add_destination('name=Apple TV 4K,OS=11.1')
         end
-      else
+      elsif xcode_version.start_with?('9')
         t.add_build_setting('SWIFT_VERSION', '4.0')
         if platform == 'iphonesimulator'
           t.add_destination('name=iPhone 7,OS=11.0')
@@ -186,6 +202,15 @@ namespace :build do
         elsif platform == 'appletvsimulator'
           t.add_destination('name=Apple TV 1080p,OS=11.0')
         end
+      else
+        t.add_build_setting('SWIFT_VERSION', '3.0')
+        if platform == 'iphonesimulator'
+          t.add_destination('name=iPhone 7,OS=10.3.1')
+        elsif platform == 'watchsimulator'
+          t.add_destination('name=Apple Watch - 42mm,OS=3.2')
+        elsif platform == 'appletvsimulator'
+          t.add_destination('name=Apple TV 1080p,OS=10.0')
+        end
       end
     end
   end
@@ -230,12 +255,14 @@ namespace :test do
           t.coverage = true
           t.build_dir = 'build'
           t.hide_shell_script_environment = true
-          if xcode_version.start_with?('8')
-            t.add_build_setting('SWIFT_VERSION', '3.0')
+          if xcode_version.start_with?('9.4')
+            t.add_build_setting('SWIFT_VERSION', '4.2')
           elsif xcode_version.start_with?('9.3')
             t.add_build_setting('SWIFT_VERSION', '4.1')
-          else
+          elsif xcode_version.start_with?('9')
             t.add_build_setting('SWIFT_VERSION', '4.0')
+          else
+            t.add_build_setting('SWIFT_VERSION', '3.0')
           end
           t.after_action do
             build_coverage_reports()