fastlane 2.55.0.beta.20170829010003 → 2.55.0.beta.20170830010003

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d8d8158cdeb0a7433635b0762b76191886d81b1
4
- data.tar.gz: f965edd8f3d61c8c4aed23880abd29cb34db7eaa
3
+ metadata.gz: 7418a46d43fe7728100cd8867127a0d3d73cc3c1
4
+ data.tar.gz: 6a5643f759caed01beb40bdf75ef35790f3fd036
5
5
  SHA512:
6
- metadata.gz: 1399142ceaad9dcd85e840d0c0cb0d49a90ca6d9d01d03305915b736ba70c77cbb7053c7432d6a261c1d642ee97df300d45fbbd8f939f0a253c5d06604cf070f
7
- data.tar.gz: 02fa1bcad9542a2d3e9db789649d1f326a2579748125f8fe52a6c0e104d5d77001112aeeaad7d3d1d0857abadb5e3b0927d73a18af3e8b13b62b99121b5bd881
6
+ metadata.gz: 407db1e222089d41b5a745c323166552efed6880ce1651443ca94a1845aaf0d6e2951cad7304997bf15c04a07ad280ec0b5c8142b384f046f2945cd9101b24cc
7
+ data.tar.gz: 1bf125c2c2337c149938cacff05c723d2e2e86a646c0e8ce614bb05ce8120e8c20c757dbcee20f38c59c495d588c624e22655e7d7710d53ea8a17eb89eccb143
@@ -70,10 +70,10 @@ module Deliver
70
70
 
71
71
  def collect_screenshots(options)
72
72
  return [] if options[:skip_screenshots]
73
- return collect_screenshots_for_languages(options[:screenshots_path])
73
+ return collect_screenshots_for_languages(options[:screenshots_path], options[:ignore_language_directory_validation])
74
74
  end
75
75
 
76
- def collect_screenshots_for_languages(path)
76
+ def collect_screenshots_for_languages(path, ignore_validation)
77
77
  screenshots = []
78
78
  extensions = '{png,jpg,jpeg}'
79
79
 
@@ -81,7 +81,6 @@ module Deliver
81
81
  lang_hash[lang.downcase] = lang
82
82
  end
83
83
 
84
- ignore_validation = options[:ignore_language_directory_validation]
85
84
  Loader.language_folders(path, ignore_validation).each do |lng_folder|
86
85
  language = File.basename(lng_folder)
87
86
 
@@ -14,26 +14,39 @@ module Fastlane
14
14
  Spaceship::Tunes.select_team
15
15
  UI.message("Login successful")
16
16
 
17
+ # Get App
18
+ app = Spaceship::Application.find(params[:app_identifier])
19
+ unless app
20
+ UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
21
+ end
22
+
23
+ # Process options
17
24
  version = params[:version]
18
25
  build_number = params[:build_number]
19
26
  platform = params[:platform]
20
-
21
- message = []
22
- message << "Looking for dSYM files for #{params[:app_identifier]}"
23
- if version
24
- message << "v#{version}"
27
+ output_directory = params[:output_directory]
28
+
29
+ # Set version if it is latest
30
+ if version == 'latest'
31
+ # Try to grab the live version first, else fallback to edit version
32
+ latest_version = app.live_version(platform: platform) || app.edit_version(platform: platform)
33
+ version = latest_version.version
34
+ build_number = latest_version.build_version
25
35
  end
26
36
 
27
- if build_number
28
- message << "(#{build_number})"
37
+ # Make sure output_directory has a slash on the end
38
+ if output_directory && !output_directory.end_with?('/')
39
+ output_directory += '/'
29
40
  end
30
41
 
42
+ # Write a nice message
43
+ message = []
44
+ message << "Looking for dSYM files for #{params[:app_identifier]}"
45
+ message << "v#{version}" if version
46
+ message << "(#{build_number})" if build_number
31
47
  UI.message(message.join(" "))
32
- app = Spaceship::Application.find(params[:app_identifier])
33
- unless app
34
- UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
35
- end
36
48
 
49
+ # Loop through all app versions and download their dSYM
37
50
  app.all_build_train_numbers(platform: platform).each do |train_number|
38
51
  if version && version != train_number
39
52
  next
@@ -52,6 +65,9 @@ module Fastlane
52
65
  if download_url
53
66
  result = self.download download_url
54
67
  file_name = "#{app.bundle_id}-#{train_number}-#{build.build_version}.dSYM.zip"
68
+ if output_directory
69
+ file_name = output_directory + file_name
70
+ end
55
71
  File.write(file_name, result)
56
72
  UI.success("🔑 Successfully downloaded dSYM file for #{train_number} - #{build.build_version} to '#{file_name}'")
57
73
 
@@ -141,12 +157,17 @@ module Fastlane
141
157
  FastlaneCore::ConfigItem.new(key: :version,
142
158
  short_option: "-v",
143
159
  env_name: "DOWNLOAD_DSYMS_VERSION",
144
- description: "The app version for dSYMs you wish to download",
160
+ description: "The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs",
145
161
  optional: true),
146
162
  FastlaneCore::ConfigItem.new(key: :build_number,
147
163
  short_option: "-b",
148
164
  env_name: "DOWNLOAD_DSYMS_BUILD_NUMBER",
149
165
  description: "The app build_number for dSYMs you wish to download",
166
+ optional: true),
167
+ FastlaneCore::ConfigItem.new(key: :output_directory,
168
+ short_option: "-s",
169
+ env_name: "DOWNLOAD_DSYMS_OUTPUT_DIRECTORY",
170
+ description: "Where to save the download dSYMs, defaults to the current path",
150
171
  optional: true)
151
172
  ]
152
173
  end
@@ -9,9 +9,10 @@ module Fastlane
9
9
  require 'faraday'
10
10
  require 'faraday_middleware'
11
11
 
12
- connection = Faraday.new(url: "https://app.testfairy.com") do |builder|
12
+ connection = Faraday.new(url: "https://upload.testfairy.com") do |builder|
13
13
  builder.request :multipart
14
14
  builder.request :url_encoded
15
+ builder.request :retry, max: 3, interval: 5
15
16
  builder.response :json, content_type: /\bjson$/
16
17
  builder.use FaradayMiddleware::FollowRedirects
17
18
  builder.adapter :net_http
@@ -24,9 +25,13 @@ module Fastlane
24
25
  options[:symbols_file] = Faraday::UploadIO.new(symbols_file, 'application/octet-stream')
25
26
  end
26
27
 
27
- connection.post do |req|
28
- req.url("/api/upload/")
29
- req.body = options
28
+ begin
29
+ connection.post do |req|
30
+ req.url("/api/upload/")
31
+ req.body = options
32
+ end
33
+ rescue Faraday::Error::TimeoutError
34
+ UI.crash!("Uploading build to TestFairy timed out ⏳")
30
35
  end
31
36
  end
32
37
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.55.0.beta.20170829010003'.freeze
2
+ VERSION = '2.55.0.beta.20170830010003'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  end
data/snapshot/README.md CHANGED
@@ -174,6 +174,10 @@ fastlane snapshot
174
174
 
175
175
  Your screenshots will be stored in the `./screenshots/` folder by default (or `./fastlane/screenshots` if you're using [fastlane](https://fastlane.tools))
176
176
 
177
+ New with Xcode 9, *snapshot* can run multiple simulators concurrently. This is the default behavior in order to take your screenshots as quickly as possible. This can be disabled to run each device, one at a time, by setting the `:concurrent_simulators` option to `false`.
178
+
179
+ **Note:** While running *snapshot* with Xcode 9, the simulators will not be visibly spawned. So, while you wont see the simulators running your tests, they will, in fact, be taking your screenshots.
180
+
177
181
  If any error occurs while running the snapshot script on a device, that device will not have any screenshots, and _snapshot_ will continue with the next device or language. To stop the flow after the first error, run
178
182
 
179
183
  ```sh
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.55.0.beta.20170829010003
4
+ version: 2.55.0.beta.20170830010003
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2017-08-29 00:00:00.000000000 Z
18
+ date: 2017-08-30 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier