fastlane 2.176.0 → 2.177.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +80 -80
  3. data/deliver/lib/deliver/app_screenshot.rb +6 -2
  4. data/deliver/lib/deliver/runner.rb +1 -1
  5. data/deliver/lib/deliver/upload_metadata.rb +3 -3
  6. data/deliver/lib/deliver/upload_screenshots.rb +10 -10
  7. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +1 -1
  8. data/fastlane/lib/fastlane/actions/appaloosa.rb +7 -2
  9. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +0 -1
  10. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +4 -5
  11. data/fastlane/lib/fastlane/version.rb +1 -1
  12. data/fastlane/swift/Deliverfile.swift +1 -1
  13. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  14. data/fastlane/swift/Fastlane.swift +14 -5
  15. data/fastlane/swift/Gymfile.swift +1 -1
  16. data/fastlane/swift/GymfileProtocol.swift +1 -1
  17. data/fastlane/swift/Matchfile.swift +1 -1
  18. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  19. data/fastlane/swift/Precheckfile.swift +1 -1
  20. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  21. data/fastlane/swift/Scanfile.swift +1 -1
  22. data/fastlane/swift/ScanfileProtocol.swift +5 -1
  23. data/fastlane/swift/Screengrabfile.swift +1 -1
  24. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  25. data/fastlane/swift/Snapshotfile.swift +1 -1
  26. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  27. data/fastlane/swift/formatting/Brewfile.lock.json +12 -12
  28. data/fastlane_core/lib/fastlane_core.rb +1 -0
  29. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +3 -2
  30. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -2
  31. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +3 -2
  32. data/{deliver/lib/deliver → fastlane_core/lib/fastlane_core}/queue_worker.rb +2 -2
  33. data/gym/lib/gym/.runner.rb.swp +0 -0
  34. data/gym/lib/gym/generators/.package_command_generator_xcode7.rb.swp +0 -0
  35. data/pilot/lib/pilot/build_manager.rb +9 -2
  36. data/scan/lib/scan/detect_values.rb +4 -1
  37. data/scan/lib/scan/options.rb +5 -0
  38. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +2 -1
  39. data/spaceship/lib/spaceship/client.rb +18 -17
  40. data/spaceship/lib/spaceship/connect_api/api_client.rb +24 -6
  41. data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -1
  42. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +5 -0
  43. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +5 -0
  44. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +6 -0
  45. data/spaceship/lib/spaceship/connect_api/models/build.rb +5 -0
  46. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +4 -0
  47. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +13 -0
  48. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +15 -0
  49. metadata +20 -19
  50. data/pilot/lib/pilot/.build_manager.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ba261e1e70a178f818c12e9f44a9da7d339da6f103aad678777f0a66592bf97
4
- data.tar.gz: f1b3689af027c08af744d5a25a4dedb5b1e96ca89ed61cc30c30756526726117
3
+ metadata.gz: 4b4ca8dee8c02f29be511a41ef49cda72c46ceef4f83304bc20a85f030ee7417
4
+ data.tar.gz: ee60bf365f058e14edce21e29f709bb9a653dad0e704bc26eecc701587b6cf57
5
5
  SHA512:
6
- metadata.gz: 4f45f74114acc9ad5585743e3a352e75ebc2bb671372206d217c3d5bcb14c79bd7fe672b6b35cb94068bc9dbc66c7942a9afbb27680d37233f37f9c0bc780d7a
7
- data.tar.gz: dd59ef529c0ac9f650dfe8afb9ce18ea4dbec6c0b637fb57ff9f52105399558f63186c97b795531536fd557af10ef5b05e3d8010cb40b2444a6e5bbc4368f409
6
+ metadata.gz: 96978521357cda5bd03e0a7138eae6dec3faa42e0fbb26ec2f3ef28f7ff9bedbdc811e2e1e8a123f7354a97b417ee33d1754a7164811a331ef32851eed957311
7
+ data.tar.gz: dbe71ffd1304b023ce991aa3ff47d5f9a39b63a24f0ec7fbb7dd2614dae8b4760b77e9352a2ec9e45a830e64bdb7f36440c3fb5297470120383ec86f5a2fa040
data/README.md CHANGED
@@ -34,23 +34,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
34
34
  <!-- This table is regenerated and resorted on each release -->
35
35
  <table id='team'>
36
36
  <tr>
37
- <td id='matthew-ellis'>
38
- <a href='https://github.com/matthewellis'>
39
- <img src='https://github.com/matthewellis.png?size=140'>
37
+ <td id='andrew-mcburney'>
38
+ <a href='https://github.com/armcburney'>
39
+ <img src='https://github.com/armcburney.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
42
42
  </td>
43
- <td id='maksym-grebenets'>
44
- <a href='https://github.com/mgrebenets'>
45
- <img src='https://github.com/mgrebenets.png?size=140'>
43
+ <td id='joshua-liebowitz'>
44
+ <a href='https://github.com/taquitos'>
45
+ <img src='https://github.com/taquitos.png?size=140'>
46
46
  </a>
47
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
48
48
  </td>
49
- <td id='aaron-brager'>
50
- <a href='https://github.com/getaaron'>
51
- <img src='https://github.com/getaaron.png?size=140'>
49
+ <td id='jérôme-lacoste'>
50
+ <a href='https://github.com/lacostej'>
51
+ <img src='https://github.com/lacostej.png?size=140'>
52
52
  </a>
53
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
54
+ </td>
55
+ <td id='max-ott'>
56
+ <a href='https://github.com/max-ott'>
57
+ <img src='https://github.com/max-ott.png?size=140'>
58
+ </a>
59
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
54
60
  </td>
55
61
  <td id='jorge-revuelta-h'>
56
62
  <a href='https://github.com/minuscorp'>
@@ -58,51 +64,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
58
64
  </a>
59
65
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
60
66
  </td>
67
+ </tr>
68
+ <tr>
69
+ <td id='danielle-tomlinson'>
70
+ <a href='https://github.com/endocrimes'>
71
+ <img src='https://github.com/endocrimes.png?size=140'>
72
+ </a>
73
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
74
+ </td>
61
75
  <td id='felix-krause'>
62
76
  <a href='https://github.com/KrauseFx'>
63
77
  <img src='https://github.com/KrauseFx.png?size=140'>
64
78
  </a>
65
79
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
66
80
  </td>
67
- </tr>
68
- <tr>
69
- <td id='jimmy-dee'>
70
- <a href='https://github.com/jdee'>
71
- <img src='https://github.com/jdee.png?size=140'>
72
- </a>
73
- <h4 align='center'>Jimmy Dee</h4>
74
- </td>
75
- <td id='kohki-miki'>
76
- <a href='https://github.com/giginet'>
77
- <img src='https://github.com/giginet.png?size=140'>
81
+ <td id='iulian-onofrei'>
82
+ <a href='https://github.com/revolter'>
83
+ <img src='https://github.com/revolter.png?size=140'>
78
84
  </a>
79
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
80
86
  </td>
81
- <td id='stefan-natchev'>
82
- <a href='https://github.com/snatchev'>
83
- <img src='https://github.com/snatchev.png?size=140'>
87
+ <td id='jan-piotrowski'>
88
+ <a href='https://github.com/janpio'>
89
+ <img src='https://github.com/janpio.png?size=140'>
84
90
  </a>
85
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
86
92
  </td>
87
- <td id='joshua-liebowitz'>
88
- <a href='https://github.com/taquitos'>
89
- <img src='https://github.com/taquitos.png?size=140'>
93
+ <td id='matthew-ellis'>
94
+ <a href='https://github.com/matthewellis'>
95
+ <img src='https://github.com/matthewellis.png?size=140'>
90
96
  </a>
91
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
92
98
  </td>
99
+ </tr>
100
+ <tr>
93
101
  <td id='fumiya-nakamura'>
94
102
  <a href='https://github.com/nafu'>
95
103
  <img src='https://github.com/nafu.png?size=140'>
96
104
  </a>
97
105
  <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
98
106
  </td>
99
- </tr>
100
- <tr>
101
- <td id='andrew-mcburney'>
102
- <a href='https://github.com/armcburney'>
103
- <img src='https://github.com/armcburney.png?size=140'>
107
+ <td id='luka-mirosevic'>
108
+ <a href='https://github.com/lmirosevic'>
109
+ <img src='https://github.com/lmirosevic.png?size=140'>
104
110
  </a>
105
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
112
+ </td>
113
+ <td id='manu-wallner'>
114
+ <a href='https://github.com/milch'>
115
+ <img src='https://github.com/milch.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
106
118
  </td>
107
119
  <td id='olivier-halligon'>
108
120
  <a href='https://github.com/AliSoftware'>
@@ -110,43 +122,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
110
122
  </a>
111
123
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
112
124
  </td>
113
- <td id='jérôme-lacoste'>
114
- <a href='https://github.com/lacostej'>
115
- <img src='https://github.com/lacostej.png?size=140'>
116
- </a>
117
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
118
- </td>
119
- <td id='jan-piotrowski'>
120
- <a href='https://github.com/janpio'>
121
- <img src='https://github.com/janpio.png?size=140'>
122
- </a>
123
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
124
- </td>
125
- <td id='danielle-tomlinson'>
126
- <a href='https://github.com/endocrimes'>
127
- <img src='https://github.com/endocrimes.png?size=140'>
125
+ <td id='jimmy-dee'>
126
+ <a href='https://github.com/jdee'>
127
+ <img src='https://github.com/jdee.png?size=140'>
128
128
  </a>
129
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
129
+ <h4 align='center'>Jimmy Dee</h4>
130
130
  </td>
131
131
  </tr>
132
132
  <tr>
133
- <td id='luka-mirosevic'>
134
- <a href='https://github.com/lmirosevic'>
135
- <img src='https://github.com/lmirosevic.png?size=140'>
136
- </a>
137
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
138
- </td>
139
- <td id='helmut-januschka'>
140
- <a href='https://github.com/hjanuschka'>
141
- <img src='https://github.com/hjanuschka.png?size=140'>
133
+ <td id='kohki-miki'>
134
+ <a href='https://github.com/giginet'>
135
+ <img src='https://github.com/giginet.png?size=140'>
142
136
  </a>
143
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
144
138
  </td>
145
- <td id='max-ott'>
146
- <a href='https://github.com/max-ott'>
147
- <img src='https://github.com/max-ott.png?size=140'>
139
+ <td id='daniel-jankowski'>
140
+ <a href='https://github.com/mollyIV'>
141
+ <img src='https://github.com/mollyIV.png?size=140'>
148
142
  </a>
149
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
150
144
  </td>
151
145
  <td id='josh-holtz'>
152
146
  <a href='https://github.com/joshdholtz'>
@@ -154,25 +148,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
154
148
  </a>
155
149
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
156
150
  </td>
157
- <td id='iulian-onofrei'>
158
- <a href='https://github.com/revolter'>
159
- <img src='https://github.com/revolter.png?size=140'>
151
+ <td id='stefan-natchev'>
152
+ <a href='https://github.com/snatchev'>
153
+ <img src='https://github.com/snatchev.png?size=140'>
160
154
  </a>
161
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
155
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
156
+ </td>
157
+ <td id='aaron-brager'>
158
+ <a href='https://github.com/getaaron'>
159
+ <img src='https://github.com/getaaron.png?size=140'>
160
+ </a>
161
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='daniel-jankowski'>
166
- <a href='https://github.com/mollyIV'>
167
- <img src='https://github.com/mollyIV.png?size=140'>
165
+ <td id='maksym-grebenets'>
166
+ <a href='https://github.com/mgrebenets'>
167
+ <img src='https://github.com/mgrebenets.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
170
170
  </td>
171
- <td id='manu-wallner'>
172
- <a href='https://github.com/milch'>
173
- <img src='https://github.com/milch.png?size=140'>
171
+ <td id='helmut-januschka'>
172
+ <a href='https://github.com/hjanuschka'>
173
+ <img src='https://github.com/hjanuschka.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -195,7 +195,9 @@ module Deliver
195
195
  ],
196
196
  ScreenSize::IOS_58_MESSAGES => [
197
197
  [1125, 2436],
198
- [2436, 1125]
198
+ [2436, 1125],
199
+ [1170, 2532],
200
+ [2532, 1170]
199
201
  ],
200
202
  ScreenSize::IOS_55_MESSAGES => [
201
203
  [1242, 2208],
@@ -253,7 +255,9 @@ module Deliver
253
255
  ],
254
256
  ScreenSize::IOS_58 => [
255
257
  [1125, 2436],
256
- [2436, 1125]
258
+ [2436, 1125],
259
+ [1170, 2532],
260
+ [2532, 1170]
257
261
  ],
258
262
  ScreenSize::IOS_55 => [
259
263
  [1242, 2208],
@@ -178,7 +178,7 @@ module Deliver
178
178
  end
179
179
 
180
180
  transporter = transporter_for_selected_team
181
- result = transporter.upload(options[:app].id, package_path)
181
+ result = transporter.upload(package_path: package_path)
182
182
  UI.user_error!("Could not upload binary to App Store Connect. Check out the error above", show_github_issues: true) unless result
183
183
  end
184
184
 
@@ -1,7 +1,7 @@
1
+ require 'fastlane_core'
1
2
  require 'spaceship'
2
3
 
3
4
  require_relative 'module'
4
- require_relative 'queue_worker'
5
5
 
6
6
  module Deliver
7
7
  # upload description, rating, etc.
@@ -200,7 +200,7 @@ module Deliver
200
200
  sleep(1)
201
201
 
202
202
  # Update app store version localizations
203
- store_version_worker = Deliver::QueueWorker.new do |app_store_version_localization|
203
+ store_version_worker = FastlaneCore::QueueWorker.new do |app_store_version_localization|
204
204
  attributes = localized_version_attributes_by_locale[app_store_version_localization.locale]
205
205
  if attributes
206
206
  UI.message("Uploading metadata to App Store Connect for localized version '#{app_store_version_localization.locale}'")
@@ -211,7 +211,7 @@ module Deliver
211
211
  store_version_worker.start
212
212
 
213
213
  # Update app info localizations
214
- app_info_worker = Deliver::QueueWorker.new do |app_info_localization|
214
+ app_info_worker = FastlaneCore::QueueWorker.new do |app_info_localization|
215
215
  attributes = localized_info_attributes_by_locale[app_info_localization.locale]
216
216
  if attributes
217
217
  UI.message("Uploading metadata to App Store Connect for localized info '#{app_info_localization.locale}'")
@@ -1,16 +1,16 @@
1
+ require 'fastlane_core'
1
2
  require 'spaceship/tunes/tunes'
2
3
  require 'digest/md5'
3
4
 
4
5
  require_relative 'app_screenshot'
5
6
  require_relative 'module'
6
7
  require_relative 'loader'
7
- require_relative 'queue_worker'
8
8
  require_relative 'app_screenshot_iterator'
9
9
 
10
10
  module Deliver
11
11
  # upload screenshots to App Store Connect
12
12
  class UploadScreenshots
13
- DeleteScreenshotJob = Struct.new(:app_screenshot, :localization, :app_screenshot_set)
13
+ DeleteScreenshotSetJob = Struct.new(:app_screenshot_set, :localization)
14
14
  UploadScreenshotJob = Struct.new(:app_screenshot_set, :path)
15
15
 
16
16
  def upload(options, screenshots)
@@ -67,12 +67,12 @@ module Deliver
67
67
  def delete_screenshots(localizations, screenshots_per_language, tries: 5)
68
68
  tries -= 1
69
69
 
70
- worker = QueueWorker.new do |job|
70
+ worker = FastlaneCore::QueueWorker.new do |job|
71
71
  start_time = Time.now
72
- target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type} #{job.app_screenshot.id}"
72
+ target = "#{job.localization.locale} #{job.app_screenshot_set.screenshot_display_type}"
73
73
  begin
74
74
  UI.verbose("Deleting '#{target}'")
75
- job.app_screenshot.delete!
75
+ job.app_screenshot_set.delete!
76
76
  UI.message("Deleted '#{target}' - (#{Time.now - start_time} secs)")
77
77
  rescue => error
78
78
  UI.error("Failed to delete screenshot #{target} - (#{Time.now - start_time} secs)")
@@ -81,12 +81,12 @@ module Deliver
81
81
  end
82
82
 
83
83
  iterator = AppScreenshotIterator.new(localizations)
84
- iterator.each_app_screenshot do |localization, app_screenshot_set, app_screenshot|
84
+ iterator.each_app_screenshot_set do |localization, app_screenshot_set|
85
85
  # Only delete screenshots if trying to upload
86
86
  next unless screenshots_per_language.keys.include?(localization.locale)
87
87
 
88
- UI.verbose("Queued delete sceeenshot job for #{localization.locale} #{app_screenshot_set.screenshot_display_type} #{app_screenshot.id}")
89
- worker.enqueue(DeleteScreenshotJob.new(app_screenshot, localization, app_screenshot_set))
88
+ UI.verbose("Queued delete sceeenshot set job for #{localization.locale} #{app_screenshot_set.screenshot_display_type}")
89
+ worker.enqueue(DeleteScreenshotSetJob.new(app_screenshot_set, localization))
90
90
  end
91
91
 
92
92
  worker.start
@@ -113,7 +113,7 @@ module Deliver
113
113
  tries -= 1
114
114
 
115
115
  # Upload screenshots
116
- worker = QueueWorker.new do |job|
116
+ worker = FastlaneCore::QueueWorker.new do |job|
117
117
  begin
118
118
  UI.verbose("Uploading '#{job.path}'...")
119
119
  start_time = Time.now
@@ -235,7 +235,7 @@ module Deliver
235
235
  iterator = AppScreenshotIterator.new(localizations)
236
236
 
237
237
  # Re-order screenshots within app_screenshot_set
238
- worker = QueueWorker.new do |app_screenshot_set|
238
+ worker = FastlaneCore::QueueWorker.new do |app_screenshot_set|
239
239
  original_ids = app_screenshot_set.app_screenshots.map(&:id)
240
240
  sorted_ids = Naturally.sort(app_screenshot_set.app_screenshots, by: :file_name).map(&:id)
241
241
  if original_ids != sorted_ids
@@ -79,7 +79,7 @@ module Fastlane
79
79
  type: Integer),
80
80
  FastlaneCore::ConfigItem.new(key: :in_house,
81
81
  env_name: "APP_STORE_CONNECT_API_KEY_IN_HOUSE",
82
- description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot not determine this on its own (yet)",
82
+ description: "Is App Store or Enterprise (in house) team? App Store Connect API cannot determine this on its own (yet)",
83
83
  optional: true,
84
84
  type: Boolean)
85
85
  ]
@@ -10,7 +10,7 @@ module Fastlane
10
10
  binary_url = get_binary_link(binary, api_key, store_id, params[:group_ids])
11
11
  return if binary_url.nil?
12
12
  screenshots_url = get_screenshots_links(api_key, store_id, params[:screenshots], params[:locale], params[:device])
13
- upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description])
13
+ upload_on_appaloosa(api_key, store_id, binary_url, screenshots_url, params[:group_ids], params[:description], params[:changelog])
14
14
  end
15
15
 
16
16
  def self.get_binary_link(binary, api_key, store_id, group_ids)
@@ -101,7 +101,7 @@ module Fastlane
101
101
  end.compact
102
102
  end
103
103
 
104
- def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description)
104
+ def self.upload_on_appaloosa(api_key, store_id, binary_path, screenshots, group_ids, description, changelog)
105
105
  screenshots = all_screenshots_links(screenshots)
106
106
  uri = URI("#{APPALOOSA_SERVER}/#{store_id}/mobile_application_updates/upload")
107
107
  http = Net::HTTP.new(uri.host, uri.port)
@@ -111,6 +111,7 @@ module Fastlane
111
111
  api_key: api_key,
112
112
  mobile_application_update: {
113
113
  description: description,
114
+ changelog: changelog,
114
115
  binary_path: binary_path,
115
116
  screenshot1: screenshots[0],
116
117
  screenshot2: screenshots[1],
@@ -218,6 +219,10 @@ module Fastlane
218
219
  FastlaneCore::ConfigItem.new(key: :description,
219
220
  env_name: 'FL_APPALOOSA_DESCRIPTION',
220
221
  description: 'Your app description',
222
+ optional: true),
223
+ FastlaneCore::ConfigItem.new(key: :changelog,
224
+ env_name: 'FL_APPALOOSA_CHANGELOG',
225
+ description: 'Your app changelog',
221
226
  optional: true)
222
227
  ]
223
228
  end
@@ -36,7 +36,6 @@ module Fastlane
36
36
  params[:push_options].each { |push_option| command << "--push-option=#{push_option}" } if params[:push_options]
37
37
 
38
38
  # execute our command
39
- Actions.sh('pwd')
40
39
  return command.join(' ') if Helper.test?
41
40
 
42
41
  Actions.sh(command.join(' '))
@@ -1,5 +1,3 @@
1
- require 'thread'
2
-
3
1
  module Fastlane
4
2
  module Actions
5
3
  class UploadSymbolsToCrashlyticsAction < Action
@@ -35,10 +33,11 @@ module Fastlane
35
33
  UI.message("Using #{max_worker_threads} threads for Crashlytics dSYM upload 🏎")
36
34
  end
37
35
 
38
- dsym_paths.each do |current_path|
39
- handle_dsym(params, current_path, max_worker_threads)
36
+ worker = FastlaneCore::QueueWorker.new(max_worker_threads) do |dsym_path|
37
+ handle_dsym(params, dsym_path, max_worker_threads)
40
38
  end
41
-
39
+ worker.batch_enqueue(dsym_paths)
40
+ worker.start
42
41
  UI.success("Successfully uploaded dSYM files to Crashlytics 💯")
43
42
  end
44
43
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.176.0'.freeze
2
+ VERSION = '2.177.0'.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
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze