fastlane 2.153.0 → 2.155.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +80 -80
  3. data/deliver/lib/deliver/html_generator.rb +8 -1
  4. data/deliver/lib/deliver/setup.rb +1 -3
  5. data/deliver/lib/deliver/upload_metadata.rb +21 -4
  6. data/fastlane/lib/fastlane/actions/carthage.rb +7 -0
  7. data/fastlane/lib/fastlane/actions/create_keychain.rb +5 -1
  8. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +21 -2
  9. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +3 -3
  10. data/fastlane/lib/fastlane/actions/git_pull.rb +13 -2
  11. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +5 -0
  12. data/fastlane/lib/fastlane/version.rb +1 -1
  13. data/fastlane/swift/Deliverfile.swift +1 -1
  14. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  15. data/fastlane/swift/Fastlane.swift +402 -187
  16. data/fastlane/swift/Gymfile.swift +1 -1
  17. data/fastlane/swift/GymfileProtocol.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/MatchfileProtocol.swift +10 -2
  20. data/fastlane/swift/Precheckfile.swift +1 -1
  21. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  22. data/fastlane/swift/Scanfile.swift +1 -1
  23. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  24. data/fastlane/swift/Screengrabfile.swift +1 -1
  25. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  26. data/fastlane/swift/Snapshotfile.swift +1 -1
  27. data/fastlane/swift/SnapshotfileProtocol.swift +9 -1
  28. data/fastlane_core/lib/fastlane_core/device_manager.rb +7 -2
  29. data/frameit/lib/frameit/editor.rb +3 -1
  30. data/gym/lib/gym/detect_values.rb +6 -3
  31. data/gym/lib/gym/module.rb +30 -0
  32. data/gym/lib/gym/runner.rb +23 -18
  33. data/match/lib/match/generator.rb +6 -0
  34. data/match/lib/match/options.rb +16 -4
  35. data/match/lib/match/runner.rb +13 -5
  36. data/match/lib/match/spaceship_ensure.rb +7 -9
  37. data/match/lib/match/storage/git_storage.rb +16 -2
  38. data/match/lib/match/storage/google_cloud_storage.rb +1 -1
  39. data/pilot/lib/pilot/build_manager.rb +9 -0
  40. data/pilot/lib/pilot/options.rb +1 -1
  41. data/{frameit/lib/frameit/.editor.rb.swp → sigh/lib/sigh/.module.rb.swp} +0 -0
  42. data/{spaceship/lib/spaceship/connect_api/models/.app_screenshot.rb.swp → sigh/lib/sigh/.options.rb.swp} +0 -0
  43. data/sigh/lib/sigh/.runner.rb.swp +0 -0
  44. data/sigh/lib/sigh/download_all.rb +42 -27
  45. data/sigh/lib/sigh/module.rb +26 -0
  46. data/sigh/lib/sigh/options.rb +2 -2
  47. data/sigh/lib/sigh/runner.rb +99 -35
  48. data/snapshot/lib/snapshot/options.rb +10 -0
  49. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
  50. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +5 -0
  51. data/snapshot/lib/snapshot/test_command_generator.rb +3 -2
  52. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +4 -1
  53. data/spaceship/lib/spaceship/connect_api/client.rb +3 -1
  54. data/spaceship/lib/spaceship/connect_api/model.rb +7 -3
  55. data/spaceship/lib/spaceship/connect_api/models/app.rb +22 -2
  56. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +2 -0
  57. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +17 -5
  58. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +41 -7
  59. data/spaceship/lib/spaceship/connect_api/models/profile.rb +31 -1
  60. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +46 -4
  61. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +41 -0
  62. data/supply/lib/supply/client.rb +2 -1
  63. data/supply/lib/supply/options.rb +8 -1
  64. metadata +20 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0738d9e2b7948bc5c029fff4cc5314accc0285c7e9fa0652c7526c58d4512dbd'
4
- data.tar.gz: 2999ba6d7c1c5784969196e9d2efe9da82561c74ac218af83e5533a7c28babaa
3
+ metadata.gz: c3b88937951b883459302bc07e9a66fdba08b143c69c19b99d1c686fe94ed31b
4
+ data.tar.gz: fedcf41735373196f76caa13a2908fd7d84a174795bd820d85a6415e737efe6a
5
5
  SHA512:
6
- metadata.gz: 94463ea90394a490270ec45cd7a47123cd8da45f7aa1649f302fdabc3e315864bd1366861730ca57a31748f7bd90cc39a5f6d61c67a7ecfb29eccb0be99f457e
7
- data.tar.gz: a23b7a7e5e74c7301222b9700b8cc6b73124842530fc417987eb95b62ae7d0be65c88b190f0d22c5b847bbb9ed55ad413d1f25c6eb3a20b011ade15af119088b
6
+ metadata.gz: b3f45c9c40951e5c6f36c8cfdfd1461ac148b2234fd94d2d9ef2e2d66955f6f54a8f8d8a3b20994c0bf764cbcf02caf35e35bf7218fcf71799e608201ad58c79
7
+ data.tar.gz: a807ff6348c844b11a937ef40b7cebd91e7633e0a3d689958226b0715391d327de0b60dbe43b78d640a1e41bf5698a0cb1d9491ba27d9e2ea679d7d2b3f7b8f4
data/README.md CHANGED
@@ -34,11 +34,49 @@ 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='andrew-mcburney'>
38
- <a href='https://github.com/armcburney'>
39
- <img src='https://github.com/armcburney.png?size=140'>
37
+ <td id='luka-mirosevic'>
38
+ <a href='https://github.com/lmirosevic'>
39
+ <img src='https://github.com/lmirosevic.png?size=140'>
40
40
  </a>
41
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
41
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
42
+ </td>
43
+ <td id='kohki-miki'>
44
+ <a href='https://github.com/giginet'>
45
+ <img src='https://github.com/giginet.png?size=140'>
46
+ </a>
47
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
48
+ </td>
49
+ <td id='danielle-tomlinson'>
50
+ <a href='https://github.com/endocrimes'>
51
+ <img src='https://github.com/endocrimes.png?size=140'>
52
+ </a>
53
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
54
+ </td>
55
+ <td id='jérôme-lacoste'>
56
+ <a href='https://github.com/lacostej'>
57
+ <img src='https://github.com/lacostej.png?size=140'>
58
+ </a>
59
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
60
+ </td>
61
+ <td id='joshua-liebowitz'>
62
+ <a href='https://github.com/taquitos'>
63
+ <img src='https://github.com/taquitos.png?size=140'>
64
+ </a>
65
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
66
+ </td>
67
+ </tr>
68
+ <tr>
69
+ <td id='jorge-revuelta-h'>
70
+ <a href='https://github.com/minuscorp'>
71
+ <img src='https://github.com/minuscorp.png?size=140'>
72
+ </a>
73
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
74
+ </td>
75
+ <td id='maksym-grebenets'>
76
+ <a href='https://github.com/mgrebenets'>
77
+ <img src='https://github.com/mgrebenets.png?size=140'>
78
+ </a>
79
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
42
80
  </td>
43
81
  <td id='josh-holtz'>
44
82
  <a href='https://github.com/joshdholtz'>
@@ -46,11 +84,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
46
84
  </a>
47
85
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
48
86
  </td>
49
- <td id='daniel-jankowski'>
50
- <a href='https://github.com/mollyIV'>
51
- <img src='https://github.com/mollyIV.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'>
52
90
  </a>
53
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
91
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
54
92
  </td>
55
93
  <td id='max-ott'>
56
94
  <a href='https://github.com/max-ott'>
@@ -58,37 +96,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
58
96
  </a>
59
97
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
60
98
  </td>
61
- <td id='helmut-januschka'>
62
- <a href='https://github.com/hjanuschka'>
63
- <img src='https://github.com/hjanuschka.png?size=140'>
64
- </a>
65
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
66
- </td>
67
99
  </tr>
68
100
  <tr>
69
- <td id='luka-mirosevic'>
70
- <a href='https://github.com/lmirosevic'>
71
- <img src='https://github.com/lmirosevic.png?size=140'>
72
- </a>
73
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
74
- </td>
75
- <td id='fumiya-nakamura'>
76
- <a href='https://github.com/nafu'>
77
- <img src='https://github.com/nafu.png?size=140'>
78
- </a>
79
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
80
- </td>
81
- <td id='olivier-halligon'>
82
- <a href='https://github.com/AliSoftware'>
83
- <img src='https://github.com/AliSoftware.png?size=140'>
101
+ <td id='daniel-jankowski'>
102
+ <a href='https://github.com/mollyIV'>
103
+ <img src='https://github.com/mollyIV.png?size=140'>
84
104
  </a>
85
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
105
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
86
106
  </td>
87
- <td id='kohki-miki'>
88
- <a href='https://github.com/giginet'>
89
- <img src='https://github.com/giginet.png?size=140'>
107
+ <td id='manu-wallner'>
108
+ <a href='https://github.com/milch'>
109
+ <img src='https://github.com/milch.png?size=140'>
90
110
  </a>
91
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
111
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
92
112
  </td>
93
113
  <td id='felix-krause'>
94
114
  <a href='https://github.com/KrauseFx'>
@@ -96,51 +116,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
96
116
  </a>
97
117
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
98
118
  </td>
99
- </tr>
100
- <tr>
101
119
  <td id='stefan-natchev'>
102
120
  <a href='https://github.com/snatchev'>
103
121
  <img src='https://github.com/snatchev.png?size=140'>
104
122
  </a>
105
123
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
106
124
  </td>
107
- <td id='jorge-revuelta-h'>
108
- <a href='https://github.com/minuscorp'>
109
- <img src='https://github.com/minuscorp.png?size=140'>
110
- </a>
111
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
112
- </td>
113
- <td id='jimmy-dee'>
114
- <a href='https://github.com/jdee'>
115
- <img src='https://github.com/jdee.png?size=140'>
116
- </a>
117
- <h4 align='center'>Jimmy Dee</h4>
118
- </td>
119
- <td id='danielle-tomlinson'>
120
- <a href='https://github.com/endocrimes'>
121
- <img src='https://github.com/endocrimes.png?size=140'>
125
+ <td id='aaron-brager'>
126
+ <a href='https://github.com/getaaron'>
127
+ <img src='https://github.com/getaaron.png?size=140'>
122
128
  </a>
123
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
129
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
124
130
  </td>
131
+ </tr>
132
+ <tr>
125
133
  <td id='matthew-ellis'>
126
134
  <a href='https://github.com/matthewellis'>
127
135
  <img src='https://github.com/matthewellis.png?size=140'>
128
136
  </a>
129
137
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
130
138
  </td>
131
- </tr>
132
- <tr>
133
- <td id='manu-wallner'>
134
- <a href='https://github.com/milch'>
135
- <img src='https://github.com/milch.png?size=140'>
139
+ <td id='olivier-halligon'>
140
+ <a href='https://github.com/AliSoftware'>
141
+ <img src='https://github.com/AliSoftware.png?size=140'>
136
142
  </a>
137
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
143
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
138
144
  </td>
139
- <td id='jérôme-lacoste'>
140
- <a href='https://github.com/lacostej'>
141
- <img src='https://github.com/lacostej.png?size=140'>
145
+ <td id='jan-piotrowski'>
146
+ <a href='https://github.com/janpio'>
147
+ <img src='https://github.com/janpio.png?size=140'>
142
148
  </a>
143
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
149
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
144
150
  </td>
145
151
  <td id='iulian-onofrei'>
146
152
  <a href='https://github.com/revolter'>
@@ -148,31 +154,25 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
148
154
  </a>
149
155
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
150
156
  </td>
151
- <td id='maksym-grebenets'>
152
- <a href='https://github.com/mgrebenets'>
153
- <img src='https://github.com/mgrebenets.png?size=140'>
154
- </a>
155
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
156
- </td>
157
- <td id='joshua-liebowitz'>
158
- <a href='https://github.com/taquitos'>
159
- <img src='https://github.com/taquitos.png?size=140'>
157
+ <td id='fumiya-nakamura'>
158
+ <a href='https://github.com/nafu'>
159
+ <img src='https://github.com/nafu.png?size=140'>
160
160
  </a>
161
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
161
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
162
162
  </td>
163
163
  </tr>
164
164
  <tr>
165
- <td id='aaron-brager'>
166
- <a href='https://github.com/getaaron'>
167
- <img src='https://github.com/getaaron.png?size=140'>
165
+ <td id='jimmy-dee'>
166
+ <a href='https://github.com/jdee'>
167
+ <img src='https://github.com/jdee.png?size=140'>
168
168
  </a>
169
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
169
+ <h4 align='center'>Jimmy Dee</h4>
170
170
  </td>
171
- <td id='jan-piotrowski'>
172
- <a href='https://github.com/janpio'>
173
- <img src='https://github.com/janpio.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/Sujan'>Jan Piotrowski</a></h4>
175
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
176
176
  </td>
177
177
  </table>
178
178
 
@@ -1,3 +1,5 @@
1
+ require 'spaceship'
2
+
1
3
  require_relative 'module'
2
4
 
3
5
  module Deliver
@@ -51,7 +53,12 @@ module Deliver
51
53
  @app_name ||= options[:app].name
52
54
 
53
55
  @languages = options[:description].keys if options[:description]
54
- @languages ||= options[:app].latest_version.description.languages
56
+ @languages ||= begin
57
+ platform = Spaceship::ConnectAPI::Platform.map(options[:platform])
58
+ version = options[:app].get_edit_app_store_version(platform: platform)
59
+
60
+ version.get_app_store_version_localizations.collect(&:locale)
61
+ end
55
62
 
56
63
  html_path = File.join(Deliver::ROOT, "lib/assets/summary.html.erb")
57
64
  html = ERB.new(File.read(html_path)).result(binding) # https://web.archive.org/web/20160430190141/www.rrn.dk/rubys-erb-templating-system
@@ -130,14 +130,12 @@ module Deliver
130
130
  end # errors if doesn't exist
131
131
  UploadMetadata::REVIEW_INFORMATION_VALUES.each do |file_key, attribute_name|
132
132
  if app_store_review_detail
133
- content = app_store_review_detail.send(attribute_name)
133
+ content = app_store_review_detail.send(attribute_name) || ""
134
134
  else
135
135
  content = ""
136
136
  end
137
137
  content += "\n"
138
138
 
139
- file_key = UploadMetadata::REVIEW_INFORMATION_VALUES_LEGACY.key(file_key)
140
-
141
139
  base_dir = File.join(path, UploadMetadata::REVIEW_INFORMATION_DIR)
142
140
  resulting_path = File.join(base_dir, "#{file_key}.txt")
143
141
  FileUtils.mkdir_p(File.expand_path('..', resulting_path))
@@ -507,13 +507,30 @@ module Deliver
507
507
  end
508
508
 
509
509
  # Load review information
510
- options[:app_review_information] ||= {}
511
- REVIEW_INFORMATION_VALUES.keys.each do |option_name|
510
+ # This is used to find the file path for both new and legacy review information filenames
511
+ resolve_review_info_path = lambda do |option_name|
512
512
  path = File.join(options[:metadata_path], REVIEW_INFORMATION_DIR, "#{option_name}.txt")
513
- next unless File.exist?(path)
514
- next if options[:app_review_information][option_name].to_s.length > 0
513
+ return nil unless File.exist?(path)
514
+ return nil if options[:app_review_information][option_name].to_s.length > 0
515
515
 
516
516
  UI.message("Loading '#{path}'...")
517
+ return path
518
+ end
519
+
520
+ # First try and load review information from legacy filenames
521
+ options[:app_review_information] ||= {}
522
+ REVIEW_INFORMATION_VALUES_LEGACY.each do |legacy_option_name, option_name|
523
+ path = resolve_review_info_path.call(legacy_option_name)
524
+ next if path.nil?
525
+ options[:app_review_information][option_name] ||= File.read(path)
526
+
527
+ UI.deprecated("Review rating option '#{legacy_option_name}' from iTunesConnect has been deprecated. Please replace with '#{option_name}'")
528
+ end
529
+
530
+ # Then load review information from new App Store Connect filenames
531
+ REVIEW_INFORMATION_VALUES.keys.each do |option_name|
532
+ path = resolve_review_info_path.call(option_name)
533
+ next if path.nil?
517
534
  options[:app_review_information][option_name] ||= File.read(path)
518
535
  end
519
536
  end
@@ -20,6 +20,7 @@ module Fastlane
20
20
  cmd << "--output #{params[:output]}" if params[:output]
21
21
  cmd << "--use-ssh" if params[:use_ssh]
22
22
  cmd << "--use-submodules" if params[:use_submodules]
23
+ cmd << "--use-netrc" if params[:use_netrc]
23
24
  cmd << "--no-use-binaries" if params[:use_binaries] == false
24
25
  cmd << "--no-checkout" if params[:no_checkout] == true
25
26
  cmd << "--no-build" if params[:no_build] == true
@@ -89,6 +90,12 @@ module Fastlane
89
90
  is_string: false,
90
91
  type: Boolean,
91
92
  optional: true),
93
+ FastlaneCore::ConfigItem.new(key: :use_netrc,
94
+ env_name: "FL_CARTHAGE_USE_NETRC",
95
+ description: "Use .netrc for downloading frameworks",
96
+ is_string: false,
97
+ type: Boolean,
98
+ optional: true),
92
99
  FastlaneCore::ConfigItem.new(key: :use_binaries,
93
100
  env_name: "FL_CARTHAGE_USE_BINARIES",
94
101
  description: "Check out dependency repositories even when prebuilt frameworks exist",
@@ -4,6 +4,7 @@ module Fastlane
4
4
  module Actions
5
5
  module SharedValues
6
6
  ORIGINAL_DEFAULT_KEYCHAIN = :ORIGINAL_DEFAULT_KEYCHAIN
7
+ KEYCHAIN_PATH = :KEYCHAIN_PATH
7
8
  end
8
9
 
9
10
  class CreateKeychainAction < Action
@@ -32,6 +33,8 @@ module Fastlane
32
33
  UI.important("If creating a new Keychain DB is required please set the `require_create` option true to cause the action to fail")
33
34
  end
34
35
 
36
+ Actions.lane_context[Actions::SharedValues::KEYCHAIN_PATH] = keychain_path
37
+
35
38
  if params[:default_keychain]
36
39
  # if there is no default keychain - setting the original will fail - silent this error
37
40
  begin
@@ -91,7 +94,8 @@ module Fastlane
91
94
 
92
95
  def self.output
93
96
  [
94
- ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain']
97
+ ['ORIGINAL_DEFAULT_KEYCHAIN', 'The path to the default keychain'],
98
+ ['KEYCHAIN_PATH', 'The path of the keychain']
95
99
  ]
96
100
  end
97
101
 
@@ -111,6 +111,25 @@ match
111
111
 
112
112
  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
113
 
114
+ ##### Git Storage on GitHub - Deploy keys
115
+
116
+ If your machine does not have a private key set up for your certificates repository, you can give _match_ a path for one:
117
+
118
+ Using parameter:
119
+
120
+ ```
121
+ match(git_private_key: '<PATH TO YOUR KEY>')
122
+ ```
123
+
124
+ Using environment variable:
125
+
126
+ ```
127
+ ENV['MATCH_GIT_PRIVATE_KEY'] = '<PATH TO YOUR KEY>'
128
+ match
129
+ ```
130
+
131
+ 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)
132
+
114
133
  ##### Git Storage on Azure Devops
115
134
 
116
135
  If you're running a pipeline on Azure Devops and using git storage in a another repository on the same project, you might want to use `bearer` token authentication.
@@ -488,14 +507,14 @@ _match_ stores the certificate (`.cer`) and the private key (`.p12`) files separ
488
507
  Decrypt your cert found in `certs/<type>/<unique-id>.cer` as a pem file:
489
508
 
490
509
  ```no-highlight
491
- openssl aes-256-cbc -k "<password>" -in "certs/<type>/<unique-id>.cer" -out "cert.der" -a -d
510
+ openssl aes-256-cbc -k "<password>" -in "certs/<type>/<unique-id>.cer" -out "cert.der" -a -d -md [md5|sha256]
492
511
  openssl x509 -inform der -in cert.der -out cert.pem
493
512
  ```
494
513
 
495
514
  Decrypt your private key found in `certs/<type>/<unique-id>.p12` as a pem file:
496
515
 
497
516
  ```no-highlight
498
- openssl aes-256-cbc -k "<password>" -in "certs/distribution/<unique-id>.p12" -out "key.pem" -a -d
517
+ openssl aes-256-cbc -k "<password>" -in "certs/distribution/<unique-id>.p12" -out "key.pem" -a -d -md [md5|sha256]
499
518
  ```
500
519
 
501
520
  Generate an encrypted p12 file with the same or new password:
@@ -485,10 +485,10 @@ Key | Editable While Live | Directory | Filename
485
485
 
486
486
  ### Review Information Metadata
487
487
 
488
- Key | Editable While Live | Directory | Filename
489
- ----|--------|--------|--------
488
+ Key | Editable While Live | Directory | Filename | Deprecated Filename
489
+ ----|--------|--------|--------|--------
490
490
  <%- Deliver::UploadMetadata::REVIEW_INFORMATION_VALUES_LEGACY.each do |key, value| -%>
491
- `<%= value %>` | Yes | `<metadata_path>/<%= Deliver::UploadMetadata::REVIEW_INFORMATION_DIR %>` | `<%= value %>.txt`
491
+ `<%= value %>` | Yes | `<metadata_path>/<%= Deliver::UploadMetadata::REVIEW_INFORMATION_DIR %>` | `<%= value %>.txt` | `<%= key %>.txt`
492
492
  <%- end %>
493
493
 
494
494
  ## Reference
@@ -5,7 +5,9 @@ module Fastlane
5
5
  commands = []
6
6
 
7
7
  unless params[:only_tags]
8
- commands += ["git pull &&"]
8
+ command = "git pull"
9
+ command << " --rebase" if params[:rebase]
10
+ commands += ["#{command} &&"]
9
11
  end
10
12
 
11
13
  commands += ["git fetch --tags"]
@@ -26,6 +28,14 @@ module Fastlane
26
28
  default_value: false,
27
29
  verify_block: proc do |value|
28
30
  UI.user_error!("Please pass a valid value for only_tags. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
31
+ end),
32
+ FastlaneCore::ConfigItem.new(key: :rebase,
33
+ description: "Rebase on top of the remote branch instead of merge",
34
+ is_string: false,
35
+ optional: true,
36
+ default_value: false,
37
+ verify_block: proc do |value|
38
+ UI.user_error!("Please pass a valid value for rebase. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
29
39
  end)
30
40
  ]
31
41
  end
@@ -41,7 +51,8 @@ module Fastlane
41
51
  def self.example_code
42
52
  [
43
53
  'git_pull',
44
- 'git_pull(only_tags: true) # only the tags, no commits'
54
+ 'git_pull(only_tags: true) # only the tags, no commits',
55
+ 'git_pull(rebase: true) # use --rebase with pull'
45
56
  ]
46
57
  end
47
58