fastlane 2.176.0 → 2.177.0

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.
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