Browse Source

update ci to use latest XCode / fastlane

// FREEBIE
Michael Kirk 1 year ago
parent
commit
f4d675e952
6 changed files with 213 additions and 9 deletions
  1. 4 7
      .travis.yml
  2. 5 0
      Gemfile
  3. 189 0
      Gemfile.lock
  4. 7 2
      Makefile
  5. 1 0
      fastlane/.gitignore
  6. 7 0
      fastlane/Scanfile

+ 4 - 7
.travis.yml

@@ -1,7 +1,7 @@
 language: objective-c
 cache: cocoapods # pod install somtimes takes >20 minutes, so lets cache this
 
-osx_image: xcode8.2
+osx_image: xcode8.3
 
 env:
   -EARLY_START_SIMULATOR=1 # early starting simulator reduces false negatives due to test timeouts
@@ -9,11 +9,8 @@ env:
 before_install:
     - brew update # we may not be running the latest version so always update
     - brew outdated xctool || brew upgrade xctool # only upgrade if outdated (saves 2 minutes)
-    - gem install cocoapods # get the latest cocoapods
-    - gem install xcpretty
-    - travis_wait 20 pod repo update --silent # log output is too long without --silent
+    - bundle
+    - bundle exec pod repo update --silent # log output is too long without --silent
 
-install: travis_wait 30 pod install # OpenSSL takes a long time to compile
-
-script: make ci
+script: make ci_scan
 

+ 5 - 0
Gemfile

@@ -0,0 +1,5 @@
+source 'https://rubygems.org'
+
+gem 'cocoapods'
+gem 'fastlane'
+

+ 189 - 0
Gemfile.lock

@@ -0,0 +1,189 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    CFPropertyList (2.3.5)
+    activesupport (4.2.9)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    addressable (2.5.1)
+      public_suffix (~> 2.0, >= 2.0.2)
+    babosa (1.0.2)
+    claide (1.0.2)
+    cocoapods (1.2.1)
+      activesupport (>= 4.0.2, < 5)
+      claide (>= 1.0.1, < 2.0)
+      cocoapods-core (= 1.2.1)
+      cocoapods-deintegrate (>= 1.0.1, < 2.0)
+      cocoapods-downloader (>= 1.1.3, < 2.0)
+      cocoapods-plugins (>= 1.0.0, < 2.0)
+      cocoapods-search (>= 1.0.0, < 2.0)
+      cocoapods-stats (>= 1.0.0, < 2.0)
+      cocoapods-trunk (>= 1.2.0, < 2.0)
+      cocoapods-try (>= 1.1.0, < 2.0)
+      colored2 (~> 3.1)
+      escape (~> 0.0.4)
+      fourflusher (~> 2.0.1)
+      gh_inspector (~> 1.0)
+      molinillo (~> 0.5.7)
+      nap (~> 1.0)
+      ruby-macho (~> 1.1)
+      xcodeproj (>= 1.4.4, < 2.0)
+    cocoapods-core (1.2.1)
+      activesupport (>= 4.0.2, < 5)
+      fuzzy_match (~> 2.0.4)
+      nap (~> 1.0)
+    cocoapods-deintegrate (1.0.1)
+    cocoapods-downloader (1.1.3)
+    cocoapods-plugins (1.0.0)
+      nap
+    cocoapods-search (1.0.0)
+    cocoapods-stats (1.0.0)
+    cocoapods-trunk (1.2.0)
+      nap (>= 0.8, < 2.0)
+      netrc (= 0.7.8)
+    cocoapods-try (1.1.0)
+    colored (1.2)
+    colored2 (3.1.2)
+    commander-fastlane (4.4.5)
+      highline (~> 1.7.2)
+    declarative (0.0.9)
+    declarative-option (0.1.0)
+    domain_name (0.5.20170404)
+      unf (>= 0.0.5, < 1.0.0)
+    dotenv (2.2.1)
+    escape (0.0.4)
+    excon (0.57.1)
+    faraday (0.12.1)
+      multipart-post (>= 1.2, < 3)
+    faraday-cookie_jar (0.0.6)
+      faraday (>= 0.7.4)
+      http-cookie (~> 1.0.0)
+    faraday_middleware (0.11.0.1)
+      faraday (>= 0.7.4, < 1.0)
+    fastimage (2.1.0)
+    fastlane (2.46.0)
+      CFPropertyList (>= 2.3, < 3.0.0)
+      addressable (>= 2.3, < 3.0.0)
+      babosa (>= 1.0.2, < 2.0.0)
+      bundler (>= 1.12.0, < 2.0.0)
+      colored
+      commander-fastlane (>= 4.4.5, < 5.0.0)
+      dotenv (>= 2.1.1, < 3.0.0)
+      excon (>= 0.45.0, < 1.0.0)
+      faraday (~> 0.9)
+      faraday-cookie_jar (~> 0.0.6)
+      faraday_middleware (~> 0.9)
+      fastimage (>= 2.1.0, < 3.0.0)
+      gh_inspector (>= 1.0.1, < 2.0.0)
+      google-api-client (>= 0.12.0, < 0.13.0)
+      highline (>= 1.7.2, < 2.0.0)
+      json (< 3.0.0)
+      mini_magick (~> 4.5.1)
+      multi_json
+      multi_xml (~> 0.5)
+      multipart-post (~> 2.0.0)
+      plist (>= 3.1.0, < 4.0.0)
+      rubyzip (>= 1.1.0, < 2.0.0)
+      security (= 0.1.3)
+      slack-notifier (>= 1.3, < 2.0.0)
+      terminal-notifier (>= 1.6.2, < 2.0.0)
+      terminal-table (>= 1.4.5, < 2.0.0)
+      tty-screen (~> 0.5.0)
+      word_wrap (~> 1.0.0)
+      xcodeproj (>= 1.4.4, < 2.0.0)
+      xcpretty (>= 0.2.4, < 1.0.0)
+      xcpretty-travis-formatter (>= 0.0.3)
+    fourflusher (2.0.1)
+    fuzzy_match (2.0.4)
+    gh_inspector (1.0.3)
+    google-api-client (0.12.0)
+      addressable (~> 2.5, >= 2.5.1)
+      googleauth (~> 0.5)
+      httpclient (>= 2.8.1, < 3.0)
+      mime-types (~> 3.0)
+      representable (~> 3.0)
+      retriable (>= 2.0, < 4.0)
+    googleauth (0.5.1)
+      faraday (~> 0.9)
+      jwt (~> 1.4)
+      logging (~> 2.0)
+      memoist (~> 0.12)
+      multi_json (~> 1.11)
+      os (~> 0.9)
+      signet (~> 0.7)
+    highline (1.7.8)
+    http-cookie (1.0.3)
+      domain_name (~> 0.5)
+    httpclient (2.8.3)
+    i18n (0.8.4)
+    json (2.1.0)
+    jwt (1.5.6)
+    little-plugger (1.1.4)
+    logging (2.2.2)
+      little-plugger (~> 1.1)
+      multi_json (~> 1.10)
+    memoist (0.16.0)
+    mime-types (3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2016.0521)
+    mini_magick (4.5.1)
+    minitest (5.10.2)
+    molinillo (0.5.7)
+    multi_json (1.12.1)
+    multi_xml (0.6.0)
+    multipart-post (2.0.0)
+    nanaimo (0.2.3)
+    nap (1.1.0)
+    netrc (0.7.8)
+    os (0.9.6)
+    plist (3.3.0)
+    public_suffix (2.0.5)
+    representable (3.0.4)
+      declarative (< 0.1.0)
+      declarative-option (< 0.2.0)
+      uber (< 0.2.0)
+    retriable (3.0.2)
+    rouge (2.0.7)
+    ruby-macho (1.1.0)
+    rubyzip (1.2.1)
+    security (0.1.3)
+    signet (0.7.3)
+      addressable (~> 2.3)
+      faraday (~> 0.9)
+      jwt (~> 1.5)
+      multi_json (~> 1.10)
+    slack-notifier (1.5.1)
+    terminal-notifier (1.8.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    thread_safe (0.3.6)
+    tty-screen (0.5.0)
+    tzinfo (1.2.3)
+      thread_safe (~> 0.1)
+    uber (0.1.0)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.4)
+    unicode-display_width (1.3.0)
+    word_wrap (1.0.0)
+    xcodeproj (1.5.0)
+      CFPropertyList (~> 2.3.3)
+      claide (>= 1.0.2, < 2.0)
+      colored2 (~> 3.1)
+      nanaimo (~> 0.2.3)
+    xcpretty (0.2.8)
+      rouge (~> 2.0.7)
+    xcpretty-travis-formatter (0.0.4)
+      xcpretty (~> 0.2, >= 0.0.7)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cocoapods
+  fastlane
+
+BUNDLED WITH
+   1.14.6

+ 7 - 2
Makefile

@@ -14,20 +14,25 @@ default: test
 
 ci: dependencies test
 
+ci_scan: dependencies scan
+
 update_dependencies:
-	pod update
+	bundle exec pod update
 	carthage update --platform iOS
 
 dependencies:
 	cd $(WORKING_DIR) && \
 		git submodule update --init
-		pod install
+		bundle exec pod install
 		carthage build --platform iOS
 
 build: dependencies
 	cd $(WORKING_DIR) && \
 		$(XCODE_BUILD) build | xcpretty
 
+scan:
+	bundle exec fastlane scan
+
 test: optional_early_start_simulator
 	cd $(WORKING_DIR) && \
 		$(XCODE_BUILD) \

+ 1 - 0
fastlane/.gitignore

@@ -0,0 +1 @@
+test_output

+ 7 - 0
fastlane/Scanfile

@@ -0,0 +1,7 @@
+# For more information about this configuration visit
+# https://github.com/fastlane/fastlane/tree/master/scan#scanfile
+
+workspace "Signal.xcworkspace"
+scheme "Signal"
+devices ["iPhone SE"]
+