Package not found. Please check the package name and try again.

fastlane 2.174.0 → 2.175.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -74
  3. data/cert/lib/cert/options.rb +2 -2
  4. data/deliver/lib/deliver/options.rb +2 -2
  5. data/deliver/lib/deliver/upload_screenshots.rb +2 -1
  6. data/fastlane/lib/fastlane/actions/adb.rb +1 -1
  7. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +2 -2
  8. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +1 -1
  9. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -1
  10. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -2
  11. data/fastlane/lib/fastlane/actions/download_dsyms.rb +5 -15
  12. data/fastlane/lib/fastlane/actions/git_commit.rb +1 -1
  13. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +2 -2
  14. data/fastlane/lib/fastlane/actions/register_device.rb +2 -2
  15. data/fastlane/lib/fastlane/actions/register_devices.rb +2 -2
  16. data/fastlane/lib/fastlane/actions/set_changelog.rb +2 -2
  17. data/fastlane/lib/fastlane/actions/swiftlint.rb +1 -1
  18. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +1 -1
  19. data/fastlane/lib/fastlane/documentation/actions_list.rb +2 -2
  20. data/fastlane/lib/fastlane/helper/adb_helper.rb +1 -1
  21. data/fastlane/lib/fastlane/helper/gem_helper.rb +2 -2
  22. data/fastlane/lib/fastlane/version.rb +1 -1
  23. data/fastlane/swift/Deliverfile.swift +1 -1
  24. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  25. data/fastlane/swift/Fastlane.swift +4 -4
  26. data/fastlane/swift/Gymfile.swift +1 -1
  27. data/fastlane/swift/GymfileProtocol.swift +1 -1
  28. data/fastlane/swift/Matchfile.swift +1 -1
  29. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  30. data/fastlane/swift/Precheckfile.swift +1 -1
  31. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  32. data/fastlane/swift/Scanfile.swift +1 -1
  33. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  34. data/fastlane/swift/Screengrabfile.swift +1 -1
  35. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  36. data/fastlane/swift/Snapshotfile.swift +1 -1
  37. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  38. data/fastlane/swift/formatting/Brewfile.lock.json +4 -2
  39. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -9
  40. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +1 -1
  41. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +23 -0
  42. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +2 -4
  43. data/fastlane_core/lib/fastlane_core/helper.rb +26 -5
  44. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +1 -1
  45. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +2 -2
  46. data/match/lib/match/nuke.rb +5 -0
  47. data/match/lib/match/options.rb +2 -2
  48. data/pilot/lib/pilot/options.rb +2 -2
  49. data/precheck/lib/precheck/options.rb +2 -2
  50. data/screengrab/lib/screengrab/android_environment.rb +2 -2
  51. data/sigh/lib/sigh/options.rb +2 -2
  52. data/spaceship/README.md +2 -2
  53. data/spaceship/lib/spaceship/connect_api/token.rb +1 -1
  54. data/spaceship/lib/spaceship/playground.rb +2 -2
  55. data/spaceship/lib/spaceship/tunes/tunes_client.rb +2 -2
  56. metadata +32 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4661f027a61fae05c35c80827aedd5435cbf631579a1232061edd76bb9c8df61
4
- data.tar.gz: 88f4f9a19d0136ba3acb5cc2dffe65308bb6437eefc56ae39692b78590a385f1
3
+ metadata.gz: 68170ec370531b330f2955c2d41ba3034cee82eed1684062f7850fb4cb684848
4
+ data.tar.gz: 46be2e9005002001ecad77101f3ef29fb3b8ce693f240be32a40476a21949ba7
5
5
  SHA512:
6
- metadata.gz: 84f565e3caea07cb1dbad2c4dbe47dec93414cc5fb104b989087ad79744fb3c41b8d31e369b39698dc89aa2688b74fc1ddf6617a115de6e4f5381b11ac7d410b
7
- data.tar.gz: 693492a716a243e76e4a4a02452a4cfc83b0ee9d09092d7b8442151ab2b2370eabddbadddcd92d7e6b11a733f0bd7fe92f2bbfd7077c109abb1ff42602fe661d
6
+ metadata.gz: 819474aabb8daecf3543a068641d84ef7cefb77626660027e8bd3bc98701d5983b8a05a7a892f54015cfc4537d7ae930a8b1f3aa5eb860420dcc4d574b599281
7
+ data.tar.gz: 19916ecfea7aef5c4371bd6ae6f420c6694e197eca113b2db73180deb9f4ceec84baa652586dab4d8633d40ead0f6c100e50a23480fa75b499a4c2d3ec425821
data/README.md CHANGED
@@ -34,75 +34,75 @@ 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='aaron-brager'>
38
- <a href='https://github.com/getaaron'>
39
- <img src='https://github.com/getaaron.png?size=140'>
37
+ <td id='kohki-miki'>
38
+ <a href='https://github.com/giginet'>
39
+ <img src='https://github.com/giginet.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
42
42
  </td>
43
- <td id='jérôme-lacoste'>
44
- <a href='https://github.com/lacostej'>
45
- <img src='https://github.com/lacostej.png?size=140'>
43
+ <td id='max-ott'>
44
+ <a href='https://github.com/max-ott'>
45
+ <img src='https://github.com/max-ott.png?size=140'>
46
46
  </a>
47
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
47
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
48
48
  </td>
49
- <td id='danielle-tomlinson'>
50
- <a href='https://github.com/endocrimes'>
51
- <img src='https://github.com/endocrimes.png?size=140'>
49
+ <td id='matthew-ellis'>
50
+ <a href='https://github.com/matthewellis'>
51
+ <img src='https://github.com/matthewellis.png?size=140'>
52
52
  </a>
53
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
53
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
54
54
  </td>
55
- <td id='iulian-onofrei'>
56
- <a href='https://github.com/revolter'>
57
- <img src='https://github.com/revolter.png?size=140'>
55
+ <td id='stefan-natchev'>
56
+ <a href='https://github.com/snatchev'>
57
+ <img src='https://github.com/snatchev.png?size=140'>
58
58
  </a>
59
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
59
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
60
60
  </td>
61
- <td id='olivier-halligon'>
62
- <a href='https://github.com/AliSoftware'>
63
- <img src='https://github.com/AliSoftware.png?size=140'>
61
+ <td id='josh-holtz'>
62
+ <a href='https://github.com/joshdholtz'>
63
+ <img src='https://github.com/joshdholtz.png?size=140'>
64
64
  </a>
65
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
65
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
66
66
  </td>
67
67
  </tr>
68
68
  <tr>
69
- <td id='luka-mirosevic'>
70
- <a href='https://github.com/lmirosevic'>
71
- <img src='https://github.com/lmirosevic.png?size=140'>
69
+ <td id='maksym-grebenets'>
70
+ <a href='https://github.com/mgrebenets'>
71
+ <img src='https://github.com/mgrebenets.png?size=140'>
72
72
  </a>
73
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
73
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
74
74
  </td>
75
- <td id='max-ott'>
76
- <a href='https://github.com/max-ott'>
77
- <img src='https://github.com/max-ott.png?size=140'>
75
+ <td id='felix-krause'>
76
+ <a href='https://github.com/KrauseFx'>
77
+ <img src='https://github.com/KrauseFx.png?size=140'>
78
78
  </a>
79
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
79
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
80
80
  </td>
81
- <td id='fumiya-nakamura'>
82
- <a href='https://github.com/nafu'>
83
- <img src='https://github.com/nafu.png?size=140'>
81
+ <td id='danielle-tomlinson'>
82
+ <a href='https://github.com/endocrimes'>
83
+ <img src='https://github.com/endocrimes.png?size=140'>
84
84
  </a>
85
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
85
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
86
86
  </td>
87
- <td id='maksym-grebenets'>
88
- <a href='https://github.com/mgrebenets'>
89
- <img src='https://github.com/mgrebenets.png?size=140'>
87
+ <td id='andrew-mcburney'>
88
+ <a href='https://github.com/armcburney'>
89
+ <img src='https://github.com/armcburney.png?size=140'>
90
90
  </a>
91
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
92
92
  </td>
93
- <td id='stefan-natchev'>
94
- <a href='https://github.com/snatchev'>
95
- <img src='https://github.com/snatchev.png?size=140'>
93
+ <td id='jérôme-lacoste'>
94
+ <a href='https://github.com/lacostej'>
95
+ <img src='https://github.com/lacostej.png?size=140'>
96
96
  </a>
97
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
97
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
98
98
  </td>
99
99
  </tr>
100
100
  <tr>
101
- <td id='felix-krause'>
102
- <a href='https://github.com/KrauseFx'>
103
- <img src='https://github.com/KrauseFx.png?size=140'>
101
+ <td id='iulian-onofrei'>
102
+ <a href='https://github.com/revolter'>
103
+ <img src='https://github.com/revolter.png?size=140'>
104
104
  </a>
105
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
105
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
106
106
  </td>
107
107
  <td id='jimmy-dee'>
108
108
  <a href='https://github.com/jdee'>
@@ -110,50 +110,50 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
110
110
  </a>
111
111
  <h4 align='center'>Jimmy Dee</h4>
112
112
  </td>
113
+ <td id='joshua-liebowitz'>
114
+ <a href='https://github.com/taquitos'>
115
+ <img src='https://github.com/taquitos.png?size=140'>
116
+ </a>
117
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
118
+ </td>
119
+ <td id='aaron-brager'>
120
+ <a href='https://github.com/getaaron'>
121
+ <img src='https://github.com/getaaron.png?size=140'>
122
+ </a>
123
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
124
+ </td>
113
125
  <td id='daniel-jankowski'>
114
126
  <a href='https://github.com/mollyIV'>
115
127
  <img src='https://github.com/mollyIV.png?size=140'>
116
128
  </a>
117
129
  <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
118
130
  </td>
119
- <td id='josh-holtz'>
120
- <a href='https://github.com/joshdholtz'>
121
- <img src='https://github.com/joshdholtz.png?size=140'>
131
+ </tr>
132
+ <tr>
133
+ <td id='fumiya-nakamura'>
134
+ <a href='https://github.com/nafu'>
135
+ <img src='https://github.com/nafu.png?size=140'>
122
136
  </a>
123
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
137
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
124
138
  </td>
125
- <td id='jan-piotrowski'>
126
- <a href='https://github.com/janpio'>
127
- <img src='https://github.com/janpio.png?size=140'>
139
+ <td id='luka-mirosevic'>
140
+ <a href='https://github.com/lmirosevic'>
141
+ <img src='https://github.com/lmirosevic.png?size=140'>
128
142
  </a>
129
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
130
144
  </td>
131
- </tr>
132
- <tr>
133
145
  <td id='jorge-revuelta-h'>
134
146
  <a href='https://github.com/minuscorp'>
135
147
  <img src='https://github.com/minuscorp.png?size=140'>
136
148
  </a>
137
149
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
138
150
  </td>
139
- <td id='andrew-mcburney'>
140
- <a href='https://github.com/armcburney'>
141
- <img src='https://github.com/armcburney.png?size=140'>
142
- </a>
143
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
144
- </td>
145
151
  <td id='manu-wallner'>
146
152
  <a href='https://github.com/milch'>
147
153
  <img src='https://github.com/milch.png?size=140'>
148
154
  </a>
149
155
  <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
150
156
  </td>
151
- <td id='kohki-miki'>
152
- <a href='https://github.com/giginet'>
153
- <img src='https://github.com/giginet.png?size=140'>
154
- </a>
155
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
156
- </td>
157
157
  <td id='helmut-januschka'>
158
158
  <a href='https://github.com/hjanuschka'>
159
159
  <img src='https://github.com/hjanuschka.png?size=140'>
@@ -162,17 +162,17 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='matthew-ellis'>
166
- <a href='https://github.com/matthewellis'>
167
- <img src='https://github.com/matthewellis.png?size=140'>
165
+ <td id='olivier-halligon'>
166
+ <a href='https://github.com/AliSoftware'>
167
+ <img src='https://github.com/AliSoftware.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
169
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
170
170
  </td>
171
- <td id='joshua-liebowitz'>
172
- <a href='https://github.com/taquitos'>
173
- <img src='https://github.com/taquitos.png?size=140'>
171
+ <td id='jan-piotrowski'>
172
+ <a href='https://github.com/janpio'>
173
+ <img src='https://github.com/janpio.png?size=140'>
174
174
  </a>
175
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -38,7 +38,7 @@ module Cert
38
38
 
39
39
  # App Store Connect API
40
40
  FastlaneCore::ConfigItem.new(key: :api_key_path,
41
- env_name: "DELIVER_API_KEY_PATH",
41
+ env_names: ["CERT_API_KEY_PATH", "DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
42
42
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
43
43
  optional: true,
44
44
  conflicting_options: [:api_key],
@@ -46,7 +46,7 @@ module Cert
46
46
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
- env_name: "DELIVER_API_KEY",
49
+ env_names: ["CERT_API_KEY", "DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
50
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
51
51
  type: Hash,
52
52
  optional: true,
@@ -13,7 +13,7 @@ module Deliver
13
13
 
14
14
  [
15
15
  FastlaneCore::ConfigItem.new(key: :api_key_path,
16
- env_name: "DELIVER_API_KEY_PATH",
16
+ env_names: ["DELIVER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
17
17
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
18
18
  optional: true,
19
19
  conflicting_options: [:api_key],
@@ -21,7 +21,7 @@ module Deliver
21
21
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
22
22
  end),
23
23
  FastlaneCore::ConfigItem.new(key: :api_key,
24
- env_name: "DELIVER_API_KEY",
24
+ env_names: ["DELIVER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
25
25
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
26
26
  type: Hash,
27
27
  optional: true,
@@ -231,12 +231,13 @@ module Deliver
231
231
  end
232
232
 
233
233
  def sort_screenshots(localizations)
234
+ require 'naturally'
234
235
  iterator = AppScreenshotIterator.new(localizations)
235
236
 
236
237
  # Re-order screenshots within app_screenshot_set
237
238
  worker = QueueWorker.new do |app_screenshot_set|
238
239
  original_ids = app_screenshot_set.app_screenshots.map(&:id)
239
- sorted_ids = app_screenshot_set.app_screenshots.sort_by(&:file_name).map(&:id)
240
+ sorted_ids = Naturally.sort(app_screenshot_set.app_screenshots, by: :file_name).map(&:id)
240
241
  if original_ids != sorted_ids
241
242
  app_screenshot_set.reorder_screenshots(app_screenshot_ids: sorted_ids)
242
243
  end
@@ -37,7 +37,7 @@ module Fastlane
37
37
  FastlaneCore::ConfigItem.new(key: :adb_path,
38
38
  env_name: "FL_ADB_PATH",
39
39
  optional: true,
40
- description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT environment variable is set)",
40
+ description: "The path to your `adb` binary (can be left blank if the ANDROID_SDK_ROOT, ANDROID_HOME or ANDROID_SDK environment variable is set)",
41
41
  is_string: true,
42
42
  default_value: "adb")
43
43
  ]
@@ -118,7 +118,7 @@ module Fastlane
118
118
  user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
119
119
  [
120
120
  FastlaneCore::ConfigItem.new(key: :api_key_path,
121
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY_PATH",
121
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
122
122
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
123
123
  optional: true,
124
124
  conflicting_options: [:api_key],
@@ -126,7 +126,7 @@ module Fastlane
126
126
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
127
127
  end),
128
128
  FastlaneCore::ConfigItem.new(key: :api_key,
129
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY",
129
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
130
130
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
131
131
  type: Hash,
132
132
  optional: true,
@@ -21,7 +21,7 @@ _screengrab_ generates localized screenshots of your Android app for different d
21
21
  Install the gem
22
22
 
23
23
  ```no-highlight
24
- sudo gem install fastlane
24
+ gem install fastlane
25
25
  ```
26
26
 
27
27
  ##### Gradle dependency
@@ -345,5 +345,5 @@ brew install imagemagick
345
345
 
346
346
  ## Uninstall
347
347
 
348
- - `sudo gem uninstall fastlane`
348
+ - `gem uninstall fastlane`
349
349
  - `rm -rf ~/.frameit`
@@ -99,16 +99,22 @@ If your machine is currently using SSH to authenticate with GitHub, you'll want
99
99
  Using parameter:
100
100
 
101
101
  ```
102
- match(git_basic_authorization: '<YOUR KEY>')
102
+ match(git_basic_authorization: '<YOUR BASE64 KEY>')
103
103
  ```
104
104
 
105
105
  Using environment variable:
106
106
 
107
107
  ```
108
- ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR KEY>'
108
+ ENV['MATCH_GIT_BASIC_AUTHORIZATION'] = '<YOUR BASE64 KEY>'
109
109
  match
110
110
  ```
111
111
 
112
+ To generate your base64 key [according to RFC 7617](https://tools.ietf.org/html/rfc7617), run this:
113
+
114
+ ```
115
+ echo -n your_github_username:your_personal_access_token | base64
116
+ ```
117
+
112
118
  You can find more information about GitHub basic authentication and personal token generation here: [https://developer.github.com/v3/auth/#basic-authentication](https://developer.github.com/v3/auth/#basic-authentication)
113
119
 
114
120
  ##### Git Storage on GitHub - Deploy keys
@@ -39,13 +39,8 @@ module Fastlane
39
39
  # Set version if it is latest
40
40
  if version == 'latest'
41
41
  # Try to grab the edit version first, else fallback to live version
42
- UI.message("Looking for latest version...")
43
- latest_version = app.get_edit_app_store_version(platform: platform) || app.get_live_app_store_version(platform: platform)
44
-
45
- UI.user_error!("Could not find latest version for your app, please try setting a specific version") if latest_version.nil?
46
-
47
- latest_build = get_latest_build!(app_id: app.id, version: latest_version.version_string, platform: platform)
48
-
42
+ UI.message("Looking for latest build...")
43
+ latest_build = get_latest_build!(app_id: app.id, platform: platform)
49
44
  version = latest_build.app_version
50
45
  build_number = latest_build.version
51
46
  elsif version == 'live'
@@ -59,11 +54,6 @@ module Fastlane
59
54
  build_number = live_version.build.version
60
55
  end
61
56
 
62
- # Remove leading zeros from version string (eg. 1.02 -> 1.2)
63
- if version
64
- version = version.split(".").map(&:to_i).join(".")
65
- end
66
-
67
57
  # Make sure output_directory has a slash on the end
68
58
  if output_directory && !output_directory.end_with?('/')
69
59
  output_directory += '/'
@@ -161,14 +151,14 @@ module Fastlane
161
151
  end
162
152
  # rubocop:enable Metrics/PerceivedComplexity
163
153
 
164
- def self.get_latest_build!(app_id: nil, version: nil, platform: nil)
154
+ def self.get_latest_build!(app_id: nil, platform: nil)
165
155
  filter = { app: app_id }
166
- filter["preReleaseVersion.version"] = version
167
156
  filter["preReleaseVersion.platform"] = platform
168
157
  latest_build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion").first
169
158
 
170
159
  if latest_build.nil?
171
- UI.user_error!("Could not find latest build for version #{version}")
160
+ UI.user_error!("Could not find any build for platform #{platform}") if platform
161
+ UI.user_error!("Could not find any build")
172
162
  end
173
163
 
174
164
  return latest_build
@@ -37,7 +37,7 @@ module Fastlane
37
37
  def self.available_options
38
38
  [
39
39
  FastlaneCore::ConfigItem.new(key: :path,
40
- description: "The file you want to commit",
40
+ description: "The file(s) or directory(ies) you want to commit. You can pass an array of multiple file-paths or fileglobs \"*.txt\" to commit all matching files. The files already staged but not specified and untracked files won't be committed",
41
41
  is_string: false),
42
42
  FastlaneCore::ConfigItem.new(key: :message,
43
43
  description: "The commit message that should be used"),
@@ -38,7 +38,7 @@ module Fastlane
38
38
 
39
39
  [
40
40
  FastlaneCore::ConfigItem.new(key: :api_key_path,
41
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY_PATH",
41
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
42
42
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
43
43
  optional: true,
44
44
  conflicting_options: [:api_key],
@@ -46,7 +46,7 @@ module Fastlane
46
46
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
47
47
  end),
48
48
  FastlaneCore::ConfigItem.new(key: :api_key,
49
- env_name: "APPSTORE_BUILD_NUMBER_API_KEY",
49
+ env_names: ["APPSTORE_BUILD_NUMBER_API_KEY", "APP_STORE_CONNECT_API_KEY"],
50
50
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
51
51
  type: Hash,
52
52
  optional: true,
@@ -69,7 +69,7 @@ module Fastlane
69
69
  env_name: "FL_REGISTER_DEVICE_UDID",
70
70
  description: "Provide the UDID of the device to register as"),
71
71
  FastlaneCore::ConfigItem.new(key: :api_key_path,
72
- env_name: "FL_REGISTER_DEVICE_API_KEY_PATH",
72
+ env_names: ["FL_REGISTER_DEVICE_API_KEY_PATH", "APP_STORE_CONNECT_API_KEY_PATH"],
73
73
  description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
74
74
  optional: true,
75
75
  conflicting_options: [:api_key],
@@ -77,7 +77,7 @@ module Fastlane
77
77
  UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
78
78
  end),
79
79
  FastlaneCore::ConfigItem.new(key: :api_key,
80
- env_name: "FL_REGISTER_DEVICE_API_KEY",
80
+ env_names: ["FL_REGISTER_DEVICE_API_KEY", "APP_STORE_CONNECT_API_KEY"],
81
81
  description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
82
82
  type: Hash,
83
83
  optional: true,