fastlane 2.225.0 → 2.226.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.
- checksums.yaml +4 -4
- data/README.md +92 -92
- data/deliver/lib/deliver/options.rb +1 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/import_from_git.rb +11 -4
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/register_device.rb +1 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +1 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +36 -2
- data/fastlane/lib/fastlane/fast_file.rb +9 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +1 -1
- data/fastlane/swift/Fastlane.swift +20 -4
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/precheck/lib/precheck/options.rb +1 -1
- data/produce/lib/produce/options.rb +1 -1
- data/supply/lib/supply/uploader.rb +8 -4
- metadata +24 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0924a4ae4adee9710990cc67bf6bd16a817bb84d849d747f725e4dea8ad29548'
|
|
4
|
+
data.tar.gz: 3ae95f0859f02531ae57cd5381b6e5a295e64c899a487cbcea074ecfa196e646
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bd1fc74b283c81699207cfc9261827986150a2066903ab12b762acb95e6ac00c5304da48b366e8817761fbe6377169f0742e392ac8fb355905b7fb94cd2af668
|
|
7
|
+
data.tar.gz: 1671c16656f5b3a71ba26432aba6c8491339c8c205fadf8cc968ddf576ea0b9c55ecb693a47e4d1663d11c456041d9d25b27b3ca63de6b6cce61a7556124ff02
|
data/README.md
CHANGED
|
@@ -35,11 +35,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
35
35
|
<!-- This table is regenerated and resorted on each release -->
|
|
36
36
|
<table id='team'>
|
|
37
37
|
<tr>
|
|
38
|
-
<td id='
|
|
39
|
-
<a href='https://github.com/
|
|
40
|
-
<img src='https://github.com/
|
|
38
|
+
<td id='jimmy-dee'>
|
|
39
|
+
<a href='https://github.com/jdee'>
|
|
40
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'
|
|
42
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
43
43
|
</td>
|
|
44
44
|
<td id='stefan-natchev'>
|
|
45
45
|
<a href='https://github.com/snatchev'>
|
|
@@ -47,63 +47,69 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
47
47
|
</a>
|
|
48
48
|
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
|
49
49
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
50
|
+
<td id='josh-holtz'>
|
|
51
|
+
<a href='https://github.com/joshdholtz'>
|
|
52
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
53
53
|
</a>
|
|
54
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
54
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
55
55
|
</td>
|
|
56
|
-
<td id='
|
|
57
|
-
<a href='https://github.com/
|
|
58
|
-
<img src='https://github.com/
|
|
56
|
+
<td id='joshua-liebowitz'>
|
|
57
|
+
<a href='https://github.com/taquitos'>
|
|
58
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='roger-oba'>
|
|
63
|
+
<a href='https://github.com/rogerluan'>
|
|
64
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
67
67
|
</td>
|
|
68
68
|
</tr>
|
|
69
69
|
<tr>
|
|
70
|
-
<td id='
|
|
71
|
-
<a href='https://github.com/
|
|
72
|
-
<img src='https://github.com/
|
|
70
|
+
<td id='satoshi-namai'>
|
|
71
|
+
<a href='https://github.com/ainame'>
|
|
72
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
74
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
75
75
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='daniel-jankowski'>
|
|
77
|
+
<a href='https://github.com/mollyIV'>
|
|
78
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
79
79
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
81
81
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='aaron-brager'>
|
|
83
|
+
<a href='https://github.com/getaaron'>
|
|
84
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
85
85
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
|
87
87
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='olivier-halligon'>
|
|
89
|
+
<a href='https://github.com/AliSoftware'>
|
|
90
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
91
91
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
93
93
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
94
|
+
<td id='andrew-mcburney'>
|
|
95
|
+
<a href='https://github.com/armcburney'>
|
|
96
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
97
97
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
99
99
|
</td>
|
|
100
100
|
</tr>
|
|
101
101
|
<tr>
|
|
102
|
-
<td id='
|
|
103
|
-
<a href='https://github.com/
|
|
104
|
-
<img src='https://github.com/
|
|
102
|
+
<td id='danielle-tomlinson'>
|
|
103
|
+
<a href='https://github.com/endocrimes'>
|
|
104
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'>
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
107
|
+
</td>
|
|
108
|
+
<td id='kohki-miki'>
|
|
109
|
+
<a href='https://github.com/giginet'>
|
|
110
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
111
|
+
</a>
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
|
|
107
113
|
</td>
|
|
108
114
|
<td id='manu-wallner'>
|
|
109
115
|
<a href='https://github.com/milch'>
|
|
@@ -111,17 +117,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
111
117
|
</a>
|
|
112
118
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
113
119
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='luka-mirosevic'>
|
|
121
|
+
<a href='https://github.com/lmirosevic'>
|
|
122
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
117
123
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
119
125
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='felix-krause'>
|
|
127
|
+
<a href='https://github.com/KrauseFx'>
|
|
128
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
123
129
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
131
|
+
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
<tr>
|
|
134
|
+
<td id='helmut-januschka'>
|
|
135
|
+
<a href='https://github.com/hjanuschka'>
|
|
136
|
+
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
137
|
+
</a>
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
139
|
+
</td>
|
|
140
|
+
<td id='max-ott'>
|
|
141
|
+
<a href='https://github.com/max-ott'>
|
|
142
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
143
|
+
</a>
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
125
145
|
</td>
|
|
126
146
|
<td id='jorge-revuelta-h'>
|
|
127
147
|
<a href='https://github.com/minuscorp'>
|
|
@@ -129,77 +149,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
129
149
|
</a>
|
|
130
150
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
131
151
|
</td>
|
|
132
|
-
</tr>
|
|
133
|
-
<tr>
|
|
134
152
|
<td id='jan-piotrowski'>
|
|
135
153
|
<a href='https://github.com/janpio'>
|
|
136
154
|
<img src='https://github.com/janpio.png' width='140px;'>
|
|
137
155
|
</a>
|
|
138
156
|
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
139
157
|
</td>
|
|
140
|
-
<td id='satoshi-namai'>
|
|
141
|
-
<a href='https://github.com/ainame'>
|
|
142
|
-
<img src='https://github.com/ainame.png' width='140px;'>
|
|
143
|
-
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
145
|
-
</td>
|
|
146
|
-
<td id='helmut-januschka'>
|
|
147
|
-
<a href='https://github.com/hjanuschka'>
|
|
148
|
-
<img src='https://github.com/hjanuschka.png' width='140px;'>
|
|
149
|
-
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
151
|
-
</td>
|
|
152
158
|
<td id='manish-rathi'>
|
|
153
159
|
<a href='https://github.com/crazymanish'>
|
|
154
160
|
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
155
161
|
</a>
|
|
156
162
|
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
157
163
|
</td>
|
|
158
|
-
<td id='daniel-jankowski'>
|
|
159
|
-
<a href='https://github.com/mollyIV'>
|
|
160
|
-
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
161
|
-
</a>
|
|
162
|
-
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
163
|
-
</td>
|
|
164
164
|
</tr>
|
|
165
165
|
<tr>
|
|
166
|
-
<td id='
|
|
167
|
-
<a href='https://github.com/
|
|
168
|
-
<img src='https://github.com/
|
|
166
|
+
<td id='łukasz-grabowski'>
|
|
167
|
+
<a href='https://github.com/lucgrabowski'>
|
|
168
|
+
<img src='https://github.com/lucgrabowski.png' width='140px;'>
|
|
169
169
|
</a>
|
|
170
|
-
<h4 align='center'
|
|
170
|
+
<h4 align='center'>Łukasz Grabowski</h4>
|
|
171
171
|
</td>
|
|
172
|
-
<td id='
|
|
173
|
-
<a href='https://github.com/
|
|
174
|
-
<img src='https://github.com/
|
|
172
|
+
<td id='matthew-ellis'>
|
|
173
|
+
<a href='https://github.com/matthewellis'>
|
|
174
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
175
175
|
</a>
|
|
176
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
176
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
177
177
|
</td>
|
|
178
|
-
<td id='
|
|
179
|
-
<a href='https://github.com/
|
|
180
|
-
<img src='https://github.com/
|
|
178
|
+
<td id='jérôme-lacoste'>
|
|
179
|
+
<a href='https://github.com/lacostej'>
|
|
180
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
181
181
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
183
183
|
</td>
|
|
184
|
-
<td id='
|
|
185
|
-
<a href='https://github.com/
|
|
186
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='maksym-grebenets'>
|
|
185
|
+
<a href='https://github.com/mgrebenets'>
|
|
186
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
187
187
|
</a>
|
|
188
|
-
<h4 align='center'
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
189
189
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='iulian-onofrei'>
|
|
191
|
+
<a href='https://github.com/revolter'>
|
|
192
|
+
<img src='https://github.com/revolter.png' width='140px;'>
|
|
193
193
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
195
195
|
</td>
|
|
196
196
|
</tr>
|
|
197
197
|
<tr>
|
|
198
|
-
<td id='
|
|
199
|
-
<a href='https://github.com/
|
|
200
|
-
<img src='https://github.com/
|
|
198
|
+
<td id='fumiya-nakamura'>
|
|
199
|
+
<a href='https://github.com/nafu'>
|
|
200
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
|
@@ -99,7 +99,7 @@ module Deliver
|
|
|
99
99
|
optional: true,
|
|
100
100
|
default_value: "ios",
|
|
101
101
|
verify_block: proc do |value|
|
|
102
|
-
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %(
|
|
102
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %w(ios appletvos xros osx).include?(value)
|
|
103
103
|
end),
|
|
104
104
|
|
|
105
105
|
# live version
|
|
@@ -186,7 +186,7 @@ module Fastlane
|
|
|
186
186
|
optional: true,
|
|
187
187
|
default_value: "ios",
|
|
188
188
|
verify_block: proc do |value|
|
|
189
|
-
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %(
|
|
189
|
+
UI.user_error!("The platform can only be ios, appletvos, xros or osx") unless %w(ios appletvos xros osx).include?(value)
|
|
190
190
|
end),
|
|
191
191
|
FastlaneCore::ConfigItem.new(key: :team_name,
|
|
192
192
|
short_option: "-e",
|
|
@@ -30,9 +30,10 @@ module Fastlane
|
|
|
30
30
|
default_value: 'HEAD',
|
|
31
31
|
optional: true),
|
|
32
32
|
FastlaneCore::ConfigItem.new(key: :dependencies,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
description: "The array of additional Fastfiles in the repository",
|
|
34
|
+
default_value: [],
|
|
35
|
+
type: Array,
|
|
36
|
+
optional: true),
|
|
36
37
|
FastlaneCore::ConfigItem.new(key: :path,
|
|
37
38
|
description: "The path of the Fastfile in the repository",
|
|
38
39
|
default_value: 'fastlane/Fastfile',
|
|
@@ -43,6 +44,11 @@ module Fastlane
|
|
|
43
44
|
optional: true),
|
|
44
45
|
FastlaneCore::ConfigItem.new(key: :cache_path,
|
|
45
46
|
description: "The path to a directory where the repository should be cloned into. Defaults to `nil`, which causes the repository to be cloned on every call, to a temporary directory",
|
|
47
|
+
optional: true),
|
|
48
|
+
FastlaneCore::ConfigItem.new(key: :git_extra_headers,
|
|
49
|
+
description: "An optional list of custom HTTP headers to access the git repo (`Authorization: Basic <YOUR BASE64 KEY>`, `Cache-Control: no-cache`, etc.)",
|
|
50
|
+
default_value: [],
|
|
51
|
+
type: Array,
|
|
46
52
|
optional: true)
|
|
47
53
|
]
|
|
48
54
|
end
|
|
@@ -68,7 +74,8 @@ module Fastlane
|
|
|
68
74
|
branch: "HEAD", # The branch to checkout on the repository.
|
|
69
75
|
path: "fastlane/Fastfile", # The path of the Fastfile in the repository.
|
|
70
76
|
version: [">= 1.1.0", "< 2.0.0"], # The version to checkout on the repository. Multiple conditions can be used to select the latest version within constraints.
|
|
71
|
-
cache_path: "~/.cache/fastlane/imported" # A directory in which the repository will be added, which means that it will not be cloned again on subsequent calls.
|
|
77
|
+
cache_path: "~/.cache/fastlane/imported", # A directory in which the repository will be added, which means that it will not be cloned again on subsequent calls.
|
|
78
|
+
git_extra_headers: ["Authorization: Basic <YOUR BASE64 KEY>", "Cache-Control: no-cache"]
|
|
72
79
|
)'
|
|
73
80
|
]
|
|
74
81
|
end
|
|
@@ -83,7 +83,7 @@ module Fastlane
|
|
|
83
83
|
optional: true,
|
|
84
84
|
default_value: "ios",
|
|
85
85
|
verify_block: proc do |value|
|
|
86
|
-
UI.user_error!("The platform can only be ios, osx, xros or appletvos") unless %(
|
|
86
|
+
UI.user_error!("The platform can only be ios, osx, xros or appletvos") unless %w(osx ios appletvos xros).include?(value)
|
|
87
87
|
end),
|
|
88
88
|
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
|
89
89
|
env_name: "INITIAL_BUILD_NUMBER",
|
|
@@ -58,7 +58,7 @@ module Fastlane
|
|
|
58
58
|
optional: true,
|
|
59
59
|
default_value: platform.empty? ? "ios" : platform,
|
|
60
60
|
verify_block: proc do |value|
|
|
61
|
-
UI.user_error!("The platform can only be ios or mac") unless %(
|
|
61
|
+
UI.user_error!("The platform can only be ios or mac") unless %w(ios mac).include?(value)
|
|
62
62
|
end),
|
|
63
63
|
FastlaneCore::ConfigItem.new(key: :udid,
|
|
64
64
|
env_name: "FL_REGISTER_DEVICE_UDID",
|
|
@@ -160,7 +160,7 @@ module Fastlane
|
|
|
160
160
|
optional: true,
|
|
161
161
|
default_value: platform.empty? ? "ios" : platform,
|
|
162
162
|
verify_block: proc do |value|
|
|
163
|
-
UI.user_error!("The platform can only be ios or mac") unless %(
|
|
163
|
+
UI.user_error!("The platform can only be ios or mac") unless %w(ios mac).include?(value)
|
|
164
164
|
end)
|
|
165
165
|
]
|
|
166
166
|
end
|
|
@@ -98,6 +98,14 @@ module Fastlane
|
|
|
98
98
|
[key, value]
|
|
99
99
|
when :tags
|
|
100
100
|
[key, value.join(',')]
|
|
101
|
+
when :folder_name
|
|
102
|
+
[key, value]
|
|
103
|
+
when :landing_page_mode
|
|
104
|
+
[key, value]
|
|
105
|
+
when :upload_to_saucelabs
|
|
106
|
+
[key, value]
|
|
107
|
+
when :platform
|
|
108
|
+
[key, value]
|
|
101
109
|
else
|
|
102
110
|
UI.user_error!("Unknown parameter: #{key}")
|
|
103
111
|
end
|
|
@@ -237,7 +245,7 @@ module Fastlane
|
|
|
237
245
|
FastlaneCore::ConfigItem.new(key: :custom,
|
|
238
246
|
optional: true,
|
|
239
247
|
env_name: "FL_TESTFAIRY_CUSTOM",
|
|
240
|
-
description: "Array of custom options. Contact support
|
|
248
|
+
description: "Array of custom options. Contact support for more information",
|
|
241
249
|
default_value: ''),
|
|
242
250
|
FastlaneCore::ConfigItem.new(key: :timeout,
|
|
243
251
|
env_name: "FL_TESTFAIRY_TIMEOUT",
|
|
@@ -249,7 +257,33 @@ module Fastlane
|
|
|
249
257
|
env_name: "FL_TESTFAIRY_TAGS",
|
|
250
258
|
description: "Custom tags that can be used to organize your builds",
|
|
251
259
|
type: Array,
|
|
252
|
-
default_value: [])
|
|
260
|
+
default_value: []),
|
|
261
|
+
FastlaneCore::ConfigItem.new(key: :folder_name,
|
|
262
|
+
optional: true,
|
|
263
|
+
env_name: "FL_TESTFAIRY_FOLDER_NAME",
|
|
264
|
+
description: "Name of the dashboard folder that contains this app",
|
|
265
|
+
default_value: ''),
|
|
266
|
+
FastlaneCore::ConfigItem.new(key: :landing_page_mode,
|
|
267
|
+
optional: true,
|
|
268
|
+
env_name: "FL_TESTFAIRY_LANDING_PAGE_MODE",
|
|
269
|
+
description: "Visibility of build landing after upload. Can be 'open' or 'closed'",
|
|
270
|
+
default_value: 'open',
|
|
271
|
+
verify_block: proc do |value|
|
|
272
|
+
UI.user_error!("The landing page mode can only be open or closed") unless %w(open closed).include?(value)
|
|
273
|
+
end),
|
|
274
|
+
FastlaneCore::ConfigItem.new(key: :upload_to_saucelabs,
|
|
275
|
+
optional: true,
|
|
276
|
+
env_name: "FL_TESTFAIRY_UPLOAD_TO_SAUCELABS",
|
|
277
|
+
description: "Upload file directly to Sauce Labs. It can be 'on' or 'off'",
|
|
278
|
+
default_value: 'off',
|
|
279
|
+
verify_block: proc do |value|
|
|
280
|
+
UI.user_error!("The upload to Sauce Labs can only be on or off") unless %w(on off).include?(value)
|
|
281
|
+
end),
|
|
282
|
+
FastlaneCore::ConfigItem.new(key: :platform,
|
|
283
|
+
optional: true,
|
|
284
|
+
env_name: "FL_TESTFAIRY_PLATFORM",
|
|
285
|
+
description: "Use if upload build is not iOS or Android. Contact support for more information",
|
|
286
|
+
default_value: '')
|
|
253
287
|
]
|
|
254
288
|
end
|
|
255
289
|
|
|
@@ -278,7 +278,8 @@ module Fastlane
|
|
|
278
278
|
# @param version [String, Array] Version requirement for repo tags
|
|
279
279
|
# @param dependencies [Array] An optional array of additional Fastfiles in the repository
|
|
280
280
|
# @param cache_path [String] An optional path to a directory where the repository should be cloned into
|
|
281
|
-
|
|
281
|
+
# @param git_extra_headers [Array] An optional array of custom HTTP headers to access the git repo (`Authorization: Basic <YOUR BASE64 KEY>`, `Cache-Control: no-cache`, etc.)
|
|
282
|
+
def import_from_git(url: nil, branch: 'HEAD', path: 'fastlane/Fastfile', version: nil, dependencies: [], cache_path: nil, git_extra_headers: []) # rubocop:disable Metrics/PerceivedComplexity
|
|
282
283
|
UI.user_error!("Please pass a path to the `import_from_git` action") if url.to_s.length == 0
|
|
283
284
|
|
|
284
285
|
Actions.execute_action('import_from_git') do
|
|
@@ -297,8 +298,6 @@ module Fastlane
|
|
|
297
298
|
import_block = proc do |target_path|
|
|
298
299
|
clone_folder = File.join(target_path, repo_name)
|
|
299
300
|
|
|
300
|
-
branch_option = "--branch #{branch}" if branch != 'HEAD'
|
|
301
|
-
|
|
302
301
|
checkout_dependencies = dependencies.map(&:shellescape).join(" ")
|
|
303
302
|
|
|
304
303
|
# If the current call is eligible for caching, we check out all the
|
|
@@ -309,12 +308,16 @@ module Fastlane
|
|
|
309
308
|
if Dir[clone_folder].empty?
|
|
310
309
|
UI.message("Cloning remote git repo...")
|
|
311
310
|
Helper.with_env_values('GIT_TERMINAL_PROMPT' => '0') do
|
|
311
|
+
command = ['git', 'clone', url, clone_folder, '--no-checkout']
|
|
312
312
|
# When using cached clones, we need the entire repository history
|
|
313
313
|
# so we can switch between tags or branches instantly, or else,
|
|
314
314
|
# it would defeat the caching's purpose.
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
command += ['--depth', '1'] unless is_eligible_for_caching
|
|
316
|
+
command += ['--branch', branch] unless branch == 'HEAD'
|
|
317
|
+
git_extra_headers.each do |header|
|
|
318
|
+
command += ['--config', "http.extraHeader=#{header}"]
|
|
319
|
+
end
|
|
320
|
+
Actions.sh(*command)
|
|
318
321
|
end
|
|
319
322
|
end
|
|
320
323
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Fastlane
|
|
2
|
-
VERSION = '2.
|
|
2
|
+
VERSION = '2.226.0'.freeze
|
|
3
3
|
SUMMARY = "The easiest way to build and release mobile apps.".freeze
|
|
4
4
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
|
5
5
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
|
@@ -11602,9 +11602,13 @@ public func teamName() {
|
|
|
11602
11602
|
- autoUpdate: Allows an easy upgrade of all users to the current version. To enable set to 'on'
|
|
11603
11603
|
- notify: Send email to testers
|
|
11604
11604
|
- options: Array of options (shake,video_only_wifi,anonymous)
|
|
11605
|
-
- custom: Array of custom options. Contact support
|
|
11605
|
+
- custom: Array of custom options. Contact support for more information
|
|
11606
11606
|
- timeout: Request timeout in seconds
|
|
11607
11607
|
- tags: Custom tags that can be used to organize your builds
|
|
11608
|
+
- folderName: Name of the dashboard folder that contains this app
|
|
11609
|
+
- landingPageMode: Visibility of build landing after upload. Can be 'open' or 'closed'
|
|
11610
|
+
- uploadToSaucelabs: Upload file directly to Sauce Labs. It can be 'on' or 'off'
|
|
11611
|
+
- platform: Use if upload build is not iOS or Android. Contact support for more information
|
|
11608
11612
|
|
|
11609
11613
|
You can retrieve your API key on [your settings page](https://free.testfairy.com/settings/)
|
|
11610
11614
|
*/
|
|
@@ -11621,7 +11625,11 @@ public func testfairy(apiKey: String,
|
|
|
11621
11625
|
options: [String] = [],
|
|
11622
11626
|
custom: String = "",
|
|
11623
11627
|
timeout: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
|
|
11624
|
-
tags: [String] = []
|
|
11628
|
+
tags: [String] = [],
|
|
11629
|
+
folderName: String = "",
|
|
11630
|
+
landingPageMode: String = "open",
|
|
11631
|
+
uploadToSaucelabs: String = "off",
|
|
11632
|
+
platform: String = "")
|
|
11625
11633
|
{
|
|
11626
11634
|
let apiKeyArg = RubyCommand.Argument(name: "api_key", value: apiKey, type: nil)
|
|
11627
11635
|
let ipaArg = ipa.asRubyArgument(name: "ipa", type: nil)
|
|
@@ -11637,6 +11645,10 @@ public func testfairy(apiKey: String,
|
|
|
11637
11645
|
let customArg = RubyCommand.Argument(name: "custom", value: custom, type: nil)
|
|
11638
11646
|
let timeoutArg = timeout.asRubyArgument(name: "timeout", type: nil)
|
|
11639
11647
|
let tagsArg = RubyCommand.Argument(name: "tags", value: tags, type: nil)
|
|
11648
|
+
let folderNameArg = RubyCommand.Argument(name: "folder_name", value: folderName, type: nil)
|
|
11649
|
+
let landingPageModeArg = RubyCommand.Argument(name: "landing_page_mode", value: landingPageMode, type: nil)
|
|
11650
|
+
let uploadToSaucelabsArg = RubyCommand.Argument(name: "upload_to_saucelabs", value: uploadToSaucelabs, type: nil)
|
|
11651
|
+
let platformArg = RubyCommand.Argument(name: "platform", value: platform, type: nil)
|
|
11640
11652
|
let array: [RubyCommand.Argument?] = [apiKeyArg,
|
|
11641
11653
|
ipaArg,
|
|
11642
11654
|
apkArg,
|
|
@@ -11650,7 +11662,11 @@ public func testfairy(apiKey: String,
|
|
|
11650
11662
|
optionsArg,
|
|
11651
11663
|
customArg,
|
|
11652
11664
|
timeoutArg,
|
|
11653
|
-
tagsArg
|
|
11665
|
+
tagsArg,
|
|
11666
|
+
folderNameArg,
|
|
11667
|
+
landingPageModeArg,
|
|
11668
|
+
uploadToSaucelabsArg,
|
|
11669
|
+
platformArg]
|
|
11654
11670
|
let args: [RubyCommand.Argument] = array
|
|
11655
11671
|
.filter { $0?.value != nil }
|
|
11656
11672
|
.compactMap { $0 }
|
|
@@ -13861,4 +13877,4 @@ public let snapshotfile: Snapshotfile = .init()
|
|
|
13861
13877
|
|
|
13862
13878
|
// Please don't remove the lines below
|
|
13863
13879
|
// They are used to detect outdated files
|
|
13864
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
13880
|
+
// FastlaneRunnerAPIVersion [0.9.185]
|
|
@@ -84,7 +84,7 @@ module Precheck
|
|
|
84
84
|
optional: true,
|
|
85
85
|
default_value: "ios",
|
|
86
86
|
verify_block: proc do |value|
|
|
87
|
-
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %(
|
|
87
|
+
UI.user_error!("The platform can only be ios, appletvos, or osx") unless %w(ios appletvos osx).include?(value)
|
|
88
88
|
end),
|
|
89
89
|
FastlaneCore::ConfigItem.new(key: :default_rule_level,
|
|
90
90
|
short_option: "-r",
|
|
@@ -54,7 +54,7 @@ module Produce
|
|
|
54
54
|
optional: true,
|
|
55
55
|
default_value: "ios",
|
|
56
56
|
verify_block: proc do |value|
|
|
57
|
-
UI.user_error!("The platform can only be ios or osx") unless %(
|
|
57
|
+
UI.user_error!("The platform can only be ios or osx") unless %w(ios osx tvos).include?(value)
|
|
58
58
|
end),
|
|
59
59
|
FastlaneCore::ConfigItem.new(key: :platforms,
|
|
60
60
|
short_option: "-J",
|
|
@@ -106,14 +106,14 @@ module Supply
|
|
|
106
106
|
end
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
-
def fetch_track_and_release!(track, version_code,
|
|
109
|
+
def fetch_track_and_release!(track, version_code, statuses = nil)
|
|
110
110
|
tracks = client.tracks(track)
|
|
111
111
|
return nil, nil if tracks.empty?
|
|
112
112
|
|
|
113
113
|
track = tracks.first
|
|
114
114
|
releases = track.releases
|
|
115
115
|
|
|
116
|
-
releases = releases.select { |r| r.status
|
|
116
|
+
releases = releases.select { |r| statuses.include?(r.status) } unless statuses.nil? || statuses.empty?
|
|
117
117
|
releases = releases.select { |r| (r.version_codes || []).map(&:to_s).include?(version_code.to_s) } if version_code
|
|
118
118
|
|
|
119
119
|
if releases.size > 1
|
|
@@ -124,7 +124,7 @@ module Supply
|
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
def update_rollout
|
|
127
|
-
track, release = fetch_track_and_release!(Supply.config[:track], Supply.config[:version_code], Supply::ReleaseStatus::IN_PROGRESS)
|
|
127
|
+
track, release = fetch_track_and_release!(Supply.config[:track], Supply.config[:version_code], [Supply::ReleaseStatus::IN_PROGRESS, Supply::ReleaseStatus::DRAFT])
|
|
128
128
|
UI.user_error!("Unable to find the requested track - '#{Supply.config[:track]}'") unless track
|
|
129
129
|
UI.user_error!("Unable to find the requested release on track - '#{Supply.config[:track]}'") unless release
|
|
130
130
|
|
|
@@ -135,7 +135,11 @@ module Supply
|
|
|
135
135
|
if track && release
|
|
136
136
|
completed = Supply.config[:rollout].to_f == 1
|
|
137
137
|
release.user_fraction = completed ? nil : Supply.config[:rollout]
|
|
138
|
-
|
|
138
|
+
if Supply.config[:release_status]
|
|
139
|
+
release.status = Supply.config[:release_status]
|
|
140
|
+
else
|
|
141
|
+
release.status = completed ? Supply::ReleaseStatus::COMPLETED : Supply::ReleaseStatus::IN_PROGRESS
|
|
142
|
+
end
|
|
139
143
|
|
|
140
144
|
# Deleted other version codes if completed because only allowed on completed version in a release
|
|
141
145
|
track.releases.delete_if { |r| !(r.version_codes || []).map(&:to_s).include?(version_code) } if completed
|
metadata
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.226.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Roger Oba
|
|
8
|
+
- Luka Mirosevic
|
|
9
|
+
- Daniel Jankowski
|
|
10
|
+
- Max Ott
|
|
11
|
+
- Joshua Liebowitz
|
|
12
|
+
- Jorge Revuelta H
|
|
8
13
|
- Łukasz Grabowski
|
|
9
|
-
- Jimmy Dee
|
|
10
|
-
- Manish Rathi
|
|
11
|
-
- Aaron Brager
|
|
12
|
-
- Satoshi Namai
|
|
13
14
|
- Danielle Tomlinson
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- Helmut Januschka
|
|
17
|
-
- Joshua Liebowitz
|
|
18
|
-
- Felix Krause
|
|
19
|
-
- Stefan Natchev
|
|
15
|
+
- Aaron Brager
|
|
16
|
+
- Jan Piotrowski
|
|
20
17
|
- Iulian Onofrei
|
|
21
|
-
-
|
|
22
|
-
- Manu Wallner
|
|
23
|
-
- Max Ott
|
|
24
|
-
- Olivier Halligon
|
|
18
|
+
- Kohki Miki
|
|
25
19
|
- Maksym Grebenets
|
|
20
|
+
- Stefan Natchev
|
|
21
|
+
- Andrew McBurney
|
|
22
|
+
- Jimmy Dee
|
|
23
|
+
- Matthew Ellis
|
|
24
|
+
- Satoshi Namai
|
|
25
|
+
- Felix Krause
|
|
26
|
+
- Helmut Januschka
|
|
27
|
+
- Manish Rathi
|
|
26
28
|
- Fumiya Nakamura
|
|
27
|
-
- Jan Piotrowski
|
|
28
|
-
- Luka Mirosevic
|
|
29
29
|
- Josh Holtz
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
30
|
+
- Jérôme Lacoste
|
|
31
|
+
- Manu Wallner
|
|
32
|
+
- Olivier Halligon
|
|
33
33
|
autorequire:
|
|
34
34
|
bindir: bin
|
|
35
35
|
cert_chain: []
|
|
36
|
-
date: 2024-10
|
|
36
|
+
date: 2024-12-10 00:00:00.000000000 Z
|
|
37
37
|
dependencies:
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: addressable
|
|
@@ -727,14 +727,14 @@ dependencies:
|
|
|
727
727
|
requirements:
|
|
728
728
|
- - "~>"
|
|
729
729
|
- !ruby/object:Gem::Version
|
|
730
|
-
version: 0.
|
|
730
|
+
version: 0.4.0
|
|
731
731
|
type: :runtime
|
|
732
732
|
prerelease: false
|
|
733
733
|
version_requirements: !ruby/object:Gem::Requirement
|
|
734
734
|
requirements:
|
|
735
735
|
- - "~>"
|
|
736
736
|
- !ruby/object:Gem::Version
|
|
737
|
-
version: 0.
|
|
737
|
+
version: 0.4.0
|
|
738
738
|
description: The easiest way to automate beta deployments and releases for your iOS
|
|
739
739
|
and Android apps
|
|
740
740
|
email:
|