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

Sign up to get free protection for your applications and to get access to all the features.
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