fastlane 2.205.2 → 2.206.2
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 +96 -96
- data/cert/lib/cert/runner.rb +15 -7
- data/deliver/lib/deliver/options.rb +5 -0
- data/deliver/lib/deliver/runner.rb +45 -0
- data/fastlane/lib/fastlane/actions/.supply.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/danger.rb +14 -0
- data/fastlane/lib/fastlane/actions/run_tests.rb +1 -7
- data/fastlane/lib/fastlane/actions/setup_ci.rb +13 -4
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +5 -0
- data/fastlane/lib/fastlane/lane_manager.rb +1 -1
- data/fastlane/lib/fastlane/tools.rb +16 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +5 -1
- data/fastlane/swift/Fastlane.swift +39 -3
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/joshholtz.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/MainProcess.swift +2 -2
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +5 -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/fastlane/swift/formatting/Brewfile.lock.json +13 -13
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +90 -0
- data/match/lib/match/importer.rb +3 -1
- data/match/lib/match/options.rb +5 -0
- data/match/lib/match/runner.rb +1 -0
- data/match/lib/match/storage/google_cloud_storage.rb +7 -6
- data/pem/lib/pem/manager.rb +1 -1
- data/scan/lib/scan/options.rb +6 -1
- data/scan/lib/scan/runner.rb +10 -2
- data/sigh/lib/sigh/runner.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +1 -2
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +2 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +5 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +24 -2
- data/spaceship/lib/spaceship/connect_api/token.rb +5 -2
- metadata +22 -21
- data/fastlane/lib/fastlane/actions/.update_project_provisioning.rb.swp +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8709bb6f807e965a0a9994a1fedefa13e0b92a05d9424308cd7cbcac25a5e02f
|
|
4
|
+
data.tar.gz: f45bede96abcdeb1307634c05547123266ce8c3e4e8a2ca2d078c112df9c5c00
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7051a939573b286ec7c73e050824b8683266f4560ef4ea4787d8b3f19c238130fa1ac1426e157f545655470a7be32bc99496d1ca813387fd9c37488342a7b0bd
|
|
7
|
+
data.tar.gz: b84234e26b2fb02313170410c0e23c26729cc6f4cb35f899265eabec327f9a09cb0542f042f6cd99e9c5101132c257f256a53f4d7352a50a6c77376f90a0003b
|
data/README.md
CHANGED
|
@@ -35,11 +35,17 @@ 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='olivier-halligon'>
|
|
39
|
+
<a href='https://github.com/AliSoftware'>
|
|
40
|
+
<img src='https://github.com/AliSoftware.png' width='140px;'>
|
|
41
41
|
</a>
|
|
42
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
42
|
+
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
43
|
+
</td>
|
|
44
|
+
<td id='maksym-grebenets'>
|
|
45
|
+
<a href='https://github.com/mgrebenets'>
|
|
46
|
+
<img src='https://github.com/mgrebenets.png' width='140px;'>
|
|
47
|
+
</a>
|
|
48
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
|
43
49
|
</td>
|
|
44
50
|
<td id='iulian-onofrei'>
|
|
45
51
|
<a href='https://github.com/revolter'>
|
|
@@ -47,113 +53,101 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
47
53
|
</a>
|
|
48
54
|
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
|
49
55
|
</td>
|
|
50
|
-
<td id='
|
|
51
|
-
<a href='https://github.com/
|
|
52
|
-
<img src='https://github.com/
|
|
53
|
-
</a>
|
|
54
|
-
<h4 align='center'>Jimmy Dee</h4>
|
|
55
|
-
</td>
|
|
56
|
-
<td id='max-ott'>
|
|
57
|
-
<a href='https://github.com/max-ott'>
|
|
58
|
-
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
56
|
+
<td id='satoshi-namai'>
|
|
57
|
+
<a href='https://github.com/ainame'>
|
|
58
|
+
<img src='https://github.com/ainame.png' width='140px;'>
|
|
59
59
|
</a>
|
|
60
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
60
|
+
<h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
|
|
61
61
|
</td>
|
|
62
|
-
<td id='
|
|
63
|
-
<a href='https://github.com/
|
|
64
|
-
<img src='https://github.com/
|
|
62
|
+
<td id='stefan-natchev'>
|
|
63
|
+
<a href='https://github.com/snatchev'>
|
|
64
|
+
<img src='https://github.com/snatchev.png' width='140px;'>
|
|
65
65
|
</a>
|
|
66
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
66
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</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='jimmy-dee'>
|
|
71
|
+
<a href='https://github.com/jdee'>
|
|
72
|
+
<img src='https://github.com/jdee.png' width='140px;'>
|
|
73
73
|
</a>
|
|
74
|
-
<h4 align='center'
|
|
74
|
+
<h4 align='center'>Jimmy Dee</h4>
|
|
75
75
|
</td>
|
|
76
|
-
<td id='
|
|
77
|
-
<a href='https://github.com/
|
|
78
|
-
<img src='https://github.com/
|
|
76
|
+
<td id='andrew-mcburney'>
|
|
77
|
+
<a href='https://github.com/armcburney'>
|
|
78
|
+
<img src='https://github.com/armcburney.png' width='140px;'>
|
|
79
79
|
</a>
|
|
80
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
80
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
|
81
81
|
</td>
|
|
82
|
-
<td id='
|
|
83
|
-
<a href='https://github.com/
|
|
84
|
-
<img src='https://github.com/
|
|
82
|
+
<td id='luka-mirosevic'>
|
|
83
|
+
<a href='https://github.com/lmirosevic'>
|
|
84
|
+
<img src='https://github.com/lmirosevic.png' width='140px;'>
|
|
85
85
|
</a>
|
|
86
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
86
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
|
87
87
|
</td>
|
|
88
|
-
<td id='
|
|
89
|
-
<a href='https://github.com/
|
|
90
|
-
<img src='https://github.com/
|
|
88
|
+
<td id='jorge-revuelta-h'>
|
|
89
|
+
<a href='https://github.com/minuscorp'>
|
|
90
|
+
<img src='https://github.com/minuscorp.png' width='140px;'>
|
|
91
91
|
</a>
|
|
92
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
92
|
+
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
|
93
93
|
</td>
|
|
94
|
-
<td id='
|
|
95
|
-
<a href='https://github.com/
|
|
96
|
-
<img src='https://github.com/
|
|
94
|
+
<td id='aaron-brager'>
|
|
95
|
+
<a href='https://github.com/getaaron'>
|
|
96
|
+
<img src='https://github.com/getaaron.png' width='140px;'>
|
|
97
97
|
</a>
|
|
98
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
98
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</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='joshua-liebowitz'>
|
|
103
|
+
<a href='https://github.com/taquitos'>
|
|
104
|
+
<img src='https://github.com/taquitos.png' width='140px;'>
|
|
105
105
|
</a>
|
|
106
|
-
<h4 align='center'
|
|
106
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
|
107
107
|
</td>
|
|
108
|
-
<td id='
|
|
109
|
-
<a href='https://github.com/
|
|
110
|
-
<img src='https://github.com/
|
|
108
|
+
<td id='danielle-tomlinson'>
|
|
109
|
+
<a href='https://github.com/endocrimes'>
|
|
110
|
+
<img src='https://github.com/endocrimes.png' width='140px;'>
|
|
111
111
|
</a>
|
|
112
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
112
|
+
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
|
113
113
|
</td>
|
|
114
|
-
<td id='
|
|
115
|
-
<a href='https://github.com/
|
|
116
|
-
<img src='https://github.com/
|
|
114
|
+
<td id='jérôme-lacoste'>
|
|
115
|
+
<a href='https://github.com/lacostej'>
|
|
116
|
+
<img src='https://github.com/lacostej.png' width='140px;'>
|
|
117
117
|
</a>
|
|
118
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
118
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
|
119
119
|
</td>
|
|
120
|
-
<td id='
|
|
121
|
-
<a href='https://github.com/
|
|
122
|
-
<img src='https://github.com/
|
|
120
|
+
<td id='josh-holtz'>
|
|
121
|
+
<a href='https://github.com/joshdholtz'>
|
|
122
|
+
<img src='https://github.com/joshdholtz.png' width='140px;'>
|
|
123
123
|
</a>
|
|
124
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
124
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
|
125
125
|
</td>
|
|
126
|
-
<td id='
|
|
127
|
-
<a href='https://github.com/
|
|
128
|
-
<img src='https://github.com/
|
|
126
|
+
<td id='jan-piotrowski'>
|
|
127
|
+
<a href='https://github.com/janpio'>
|
|
128
|
+
<img src='https://github.com/janpio.png' width='140px;'>
|
|
129
129
|
</a>
|
|
130
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
130
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
|
131
131
|
</td>
|
|
132
132
|
</tr>
|
|
133
133
|
<tr>
|
|
134
|
-
<td id='
|
|
135
|
-
<a href='https://github.com/
|
|
136
|
-
<img src='https://github.com/
|
|
137
|
-
</a>
|
|
138
|
-
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
|
139
|
-
</td>
|
|
140
|
-
<td id='kohki-miki'>
|
|
141
|
-
<a href='https://github.com/giginet'>
|
|
142
|
-
<img src='https://github.com/giginet.png' width='140px;'>
|
|
134
|
+
<td id='max-ott'>
|
|
135
|
+
<a href='https://github.com/max-ott'>
|
|
136
|
+
<img src='https://github.com/max-ott.png' width='140px;'>
|
|
143
137
|
</a>
|
|
144
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
138
|
+
<h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
|
|
145
139
|
</td>
|
|
146
|
-
<td id='
|
|
147
|
-
<a href='https://github.com/
|
|
148
|
-
<img src='https://github.com/
|
|
140
|
+
<td id='daniel-jankowski'>
|
|
141
|
+
<a href='https://github.com/mollyIV'>
|
|
142
|
+
<img src='https://github.com/mollyIV.png' width='140px;'>
|
|
149
143
|
</a>
|
|
150
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
144
|
+
<h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
|
|
151
145
|
</td>
|
|
152
|
-
<td id='
|
|
153
|
-
<a href='https://github.com/
|
|
154
|
-
<img src='https://github.com/
|
|
146
|
+
<td id='roger-oba'>
|
|
147
|
+
<a href='https://github.com/rogerluan'>
|
|
148
|
+
<img src='https://github.com/rogerluan.png' width='140px;'>
|
|
155
149
|
</a>
|
|
156
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
150
|
+
<h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
|
|
157
151
|
</td>
|
|
158
152
|
<td id='helmut-januschka'>
|
|
159
153
|
<a href='https://github.com/hjanuschka'>
|
|
@@ -161,13 +155,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
161
155
|
</a>
|
|
162
156
|
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
|
163
157
|
</td>
|
|
158
|
+
<td id='fumiya-nakamura'>
|
|
159
|
+
<a href='https://github.com/nafu'>
|
|
160
|
+
<img src='https://github.com/nafu.png' width='140px;'>
|
|
161
|
+
</a>
|
|
162
|
+
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</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
172
|
<td id='manu-wallner'>
|
|
173
173
|
<a href='https://github.com/milch'>
|
|
@@ -175,31 +175,31 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
|
175
175
|
</a>
|
|
176
176
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
|
177
177
|
</td>
|
|
178
|
-
<td id='
|
|
179
|
-
<a href='https://github.com/
|
|
180
|
-
<img src='https://github.com/
|
|
178
|
+
<td id='matthew-ellis'>
|
|
179
|
+
<a href='https://github.com/matthewellis'>
|
|
180
|
+
<img src='https://github.com/matthewellis.png' width='140px;'>
|
|
181
181
|
</a>
|
|
182
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
182
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
|
183
183
|
</td>
|
|
184
|
-
<td id='
|
|
185
|
-
<a href='https://github.com/
|
|
186
|
-
<img src='https://github.com/
|
|
184
|
+
<td id='manish-rathi'>
|
|
185
|
+
<a href='https://github.com/crazymanish'>
|
|
186
|
+
<img src='https://github.com/crazymanish.png' width='140px;'>
|
|
187
187
|
</a>
|
|
188
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
188
|
+
<h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
|
|
189
189
|
</td>
|
|
190
|
-
<td id='
|
|
191
|
-
<a href='https://github.com/
|
|
192
|
-
<img src='https://github.com/
|
|
190
|
+
<td id='kohki-miki'>
|
|
191
|
+
<a href='https://github.com/giginet'>
|
|
192
|
+
<img src='https://github.com/giginet.png' width='140px;'>
|
|
193
193
|
</a>
|
|
194
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
194
|
+
<h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</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='felix-krause'>
|
|
199
|
+
<a href='https://github.com/KrauseFx'>
|
|
200
|
+
<img src='https://github.com/KrauseFx.png' width='140px;'>
|
|
201
201
|
</a>
|
|
202
|
-
<h4 align='center'><a href='https://twitter.com/
|
|
202
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
|
203
203
|
</td>
|
|
204
204
|
</table>
|
|
205
205
|
|
data/cert/lib/cert/runner.rb
CHANGED
|
@@ -138,26 +138,34 @@ module Cert
|
|
|
138
138
|
# All certificates of this type
|
|
139
139
|
def certificates
|
|
140
140
|
filter = {
|
|
141
|
-
certificateType:
|
|
141
|
+
certificateType: certificate_types.join(",")
|
|
142
142
|
}
|
|
143
143
|
return Spaceship::ConnectAPI::Certificate.all(filter: filter)
|
|
144
144
|
end
|
|
145
145
|
|
|
146
|
-
# The kind of certificate we're interested in
|
|
146
|
+
# The kind of certificate we're interested in (for creating)
|
|
147
147
|
def certificate_type
|
|
148
|
+
return certificate_types.first
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# The kind of certificates we're interested in (for listing)
|
|
152
|
+
def certificate_types
|
|
148
153
|
if Cert.config[:type]
|
|
149
154
|
case Cert.config[:type].to_sym
|
|
150
155
|
when :mac_installer_distribution
|
|
151
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::MAC_INSTALLER_DISTRIBUTION
|
|
156
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::MAC_INSTALLER_DISTRIBUTION]
|
|
152
157
|
when :developer_id_application
|
|
153
|
-
return
|
|
158
|
+
return [
|
|
159
|
+
Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION_G2,
|
|
160
|
+
Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_APPLICATION
|
|
161
|
+
]
|
|
154
162
|
when :developer_id_kext
|
|
155
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_KEXT
|
|
163
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_KEXT]
|
|
156
164
|
when :developer_id_installer
|
|
157
165
|
if !Spaceship::ConnectAPI.token.nil?
|
|
158
166
|
raise "As of 2021-11-09, the App Store Connect API does not allow accessing DEVELOPER_ID_INSTALLER with the API Key. Please file an issue on GitHub if this has changed and needs to be updated"
|
|
159
167
|
else
|
|
160
|
-
return Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_INSTALLER
|
|
168
|
+
return [Spaceship::ConnectAPI::Certificate::CertificateType::DEVELOPER_ID_INSTALLER]
|
|
161
169
|
end
|
|
162
170
|
else
|
|
163
171
|
UI.user_error("Unaccepted value for :type - #{Cert.config[:type]}")
|
|
@@ -182,7 +190,7 @@ module Cert
|
|
|
182
190
|
end
|
|
183
191
|
end
|
|
184
192
|
|
|
185
|
-
return cert_type
|
|
193
|
+
return [cert_type]
|
|
186
194
|
end
|
|
187
195
|
|
|
188
196
|
def create_certificate
|
|
@@ -173,6 +173,11 @@ module Deliver
|
|
|
173
173
|
description: "Submit the new version for Review after uploading everything",
|
|
174
174
|
type: Boolean,
|
|
175
175
|
default_value: false),
|
|
176
|
+
FastlaneCore::ConfigItem.new(key: :verify_only,
|
|
177
|
+
env_name: "DELIVER_VERIFY_ONLY",
|
|
178
|
+
description: "Verifies archive with App Store Connect without uploading",
|
|
179
|
+
type: Boolean,
|
|
180
|
+
default_value: false),
|
|
176
181
|
FastlaneCore::ConfigItem.new(key: :reject_if_possible,
|
|
177
182
|
env_name: "DELIVER_REJECT_IF_POSSIBLE",
|
|
178
183
|
description: "Rejects the previously submitted build if it's in a state where it's possible",
|
|
@@ -46,6 +46,12 @@ module Deliver
|
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
def run
|
|
49
|
+
if options[:verify_only]
|
|
50
|
+
UI.important("Verify flag is set, only package validation will take place and no submission will be made")
|
|
51
|
+
verify_binary
|
|
52
|
+
return
|
|
53
|
+
end
|
|
54
|
+
|
|
49
55
|
verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
|
|
50
56
|
|
|
51
57
|
# Rejecting before upload meta
|
|
@@ -155,6 +161,45 @@ module Deliver
|
|
|
155
161
|
UploadPriceTier.new.upload(options)
|
|
156
162
|
end
|
|
157
163
|
|
|
164
|
+
# Verify the binary with App Store Connect
|
|
165
|
+
def verify_binary
|
|
166
|
+
UI.message("Verifying binary with App Store Connect")
|
|
167
|
+
|
|
168
|
+
verify_ipa = options[:ipa]
|
|
169
|
+
verify_pkg = options[:pkg]
|
|
170
|
+
|
|
171
|
+
# 2020-01-27
|
|
172
|
+
# Only verify platform if if both ipa and pkg exists (for backwards support)
|
|
173
|
+
if verify_ipa && verify_pkg
|
|
174
|
+
verify_ipa = ["ios", "appletvos"].include?(options[:platform])
|
|
175
|
+
verify_pkg = options[:platform] == "osx"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
if verify_ipa
|
|
179
|
+
package_path = FastlaneCore::IpaUploadPackageBuilder.new.generate(
|
|
180
|
+
app_id: Deliver.cache[:app].id,
|
|
181
|
+
ipa_path: options[:ipa],
|
|
182
|
+
package_path: "/tmp",
|
|
183
|
+
platform: options[:platform]
|
|
184
|
+
)
|
|
185
|
+
elsif verify_pkg
|
|
186
|
+
package_path = FastlaneCore::PkgUploadPackageBuilder.new.generate(
|
|
187
|
+
app_id: Deliver.cache[:app].id,
|
|
188
|
+
pkg_path: options[:pkg],
|
|
189
|
+
package_path: "/tmp",
|
|
190
|
+
platform: options[:platform]
|
|
191
|
+
)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
transporter = transporter_for_selected_team
|
|
195
|
+
result = transporter.verify(package_path: package_path)
|
|
196
|
+
|
|
197
|
+
unless result
|
|
198
|
+
transporter_errors = transporter.displayable_errors
|
|
199
|
+
UI.user_error!("Error verifying the binary file: \n #{transporter_errors}")
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
158
203
|
# Upload the binary to App Store Connect
|
|
159
204
|
def upload_binary
|
|
160
205
|
UI.message("Uploading binary to App Store Connect")
|
|
Binary file
|
|
@@ -25,6 +25,8 @@ module Fastlane
|
|
|
25
25
|
cmd << "pr #{pr}" if pr
|
|
26
26
|
|
|
27
27
|
ENV['DANGER_GITHUB_API_TOKEN'] = params[:github_api_token] if params[:github_api_token]
|
|
28
|
+
ENV['DANGER_GITHUB_HOST'] = params[:github_enterprise_host] if params[:github_enterprise_host]
|
|
29
|
+
ENV['DANGER_GITHUB_API_BASE_URL'] = params[:github_enterprise_api_base_url] if params[:github_enterprise_api_base_url]
|
|
28
30
|
|
|
29
31
|
Actions.sh(cmd.join(' '))
|
|
30
32
|
end
|
|
@@ -66,6 +68,18 @@ module Fastlane
|
|
|
66
68
|
sensitive: true,
|
|
67
69
|
code_gen_sensitive: true,
|
|
68
70
|
optional: true),
|
|
71
|
+
FastlaneCore::ConfigItem.new(key: :github_enterprise_host,
|
|
72
|
+
env_name: "FL_DANGER_GITHUB_ENTERPRISE_HOST",
|
|
73
|
+
description: "GitHub host URL for GitHub Enterprise",
|
|
74
|
+
sensitive: true,
|
|
75
|
+
code_gen_sensitive: true,
|
|
76
|
+
optional: true),
|
|
77
|
+
FastlaneCore::ConfigItem.new(key: :github_enterprise_api_base_url,
|
|
78
|
+
env_name: "FL_DANGER_GITHUB_ENTERPRISE_API_BASE_URL",
|
|
79
|
+
description: "GitHub API base URL for GitHub Enterprise",
|
|
80
|
+
sensitive: true,
|
|
81
|
+
code_gen_sensitive: true,
|
|
82
|
+
optional: true),
|
|
69
83
|
FastlaneCore::ConfigItem.new(key: :fail_on_errors,
|
|
70
84
|
env_name: "FL_DANGER_FAIL_ON_ERRORS",
|
|
71
85
|
description: "Should always fail the build process, defaults to false",
|
|
@@ -71,13 +71,7 @@ module Fastlane
|
|
|
71
71
|
def self.available_options
|
|
72
72
|
require 'scan'
|
|
73
73
|
|
|
74
|
-
FastlaneCore::CommanderGenerator.new.generate(Scan::Options.available_options)
|
|
75
|
-
FastlaneCore::ConfigItem.new(key: :fail_build,
|
|
76
|
-
env_name: "SCAN_FAIL_BUILD",
|
|
77
|
-
description: "Should this step stop the build if the tests fail? Set this to false if you're using trainer",
|
|
78
|
-
type: Boolean,
|
|
79
|
-
default_value: true)
|
|
80
|
-
]
|
|
74
|
+
FastlaneCore::CommanderGenerator.new.generate(Scan::Options.available_options)
|
|
81
75
|
end
|
|
82
76
|
|
|
83
77
|
def self.output
|
|
@@ -12,7 +12,7 @@ module Fastlane
|
|
|
12
12
|
setup_output_paths
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
setup_keychain
|
|
15
|
+
setup_keychain(params)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def self.should_run?(params)
|
|
@@ -23,7 +23,7 @@ module Fastlane
|
|
|
23
23
|
params[:provider] || (Helper.is_circle_ci? ? 'circleci' : nil)
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
def self.setup_keychain
|
|
26
|
+
def self.setup_keychain(params)
|
|
27
27
|
unless Helper.mac?
|
|
28
28
|
UI.message("Skipping Keychain setup on non-macOS CI Agent")
|
|
29
29
|
return
|
|
@@ -43,7 +43,7 @@ module Fastlane
|
|
|
43
43
|
name: keychain_name,
|
|
44
44
|
default_keychain: true,
|
|
45
45
|
unlock: true,
|
|
46
|
-
timeout:
|
|
46
|
+
timeout: params[:timeout],
|
|
47
47
|
lock_when_sleeps: true,
|
|
48
48
|
password: "",
|
|
49
49
|
add_to_search_list: true
|
|
@@ -103,7 +103,12 @@ module Fastlane
|
|
|
103
103
|
# Validate both 'travis' and 'circleci' for backwards compatibility, even
|
|
104
104
|
# though only the latter receives special treatment by this action
|
|
105
105
|
UI.user_error!("A given CI provider '#{value}' is not supported. Available CI providers: 'travis', 'circleci'") unless ["travis", "circleci"].include?(value)
|
|
106
|
-
end)
|
|
106
|
+
end),
|
|
107
|
+
FastlaneCore::ConfigItem.new(key: :timeout,
|
|
108
|
+
env_name: "FL_SETUP_CI_TIMEOUT",
|
|
109
|
+
description: "Set a custom timeout in seconds for keychain. Set `0` if you want to specify 'no time-out'",
|
|
110
|
+
type: Integer,
|
|
111
|
+
default_value: 3600)
|
|
107
112
|
]
|
|
108
113
|
end
|
|
109
114
|
|
|
@@ -119,6 +124,10 @@ module Fastlane
|
|
|
119
124
|
[
|
|
120
125
|
'setup_ci(
|
|
121
126
|
provider: "circleci"
|
|
127
|
+
)',
|
|
128
|
+
'setup_ci(
|
|
129
|
+
provider: "circleci",
|
|
130
|
+
timeout: 0
|
|
122
131
|
)'
|
|
123
132
|
]
|
|
124
133
|
end
|
|
@@ -78,6 +78,7 @@ module Fastlane
|
|
|
78
78
|
tool_name = ARGV.first ? ARGV.first.downcase : nil
|
|
79
79
|
|
|
80
80
|
tool_name = process_emojis(tool_name)
|
|
81
|
+
tool_name = map_aliased_tools(tool_name)
|
|
81
82
|
|
|
82
83
|
if tool_name && Fastlane::TOOLS.include?(tool_name.to_sym) && !available_lanes.include?(tool_name.to_sym)
|
|
83
84
|
# Triggering a specific tool
|
|
@@ -125,6 +126,10 @@ module Fastlane
|
|
|
125
126
|
FastlaneCore::UpdateChecker.show_update_status('fastlane', Fastlane::VERSION)
|
|
126
127
|
end
|
|
127
128
|
|
|
129
|
+
def map_aliased_tools(tool_name)
|
|
130
|
+
Fastlane::TOOL_ALIASES[tool_name&.to_sym] || tool_name
|
|
131
|
+
end
|
|
132
|
+
|
|
128
133
|
# Since loading dotenv should respect additional environments passed using
|
|
129
134
|
# --env, we must extract the arguments out of ARGV and process them before
|
|
130
135
|
# calling into commander. This is required since the ENV must be configured
|
|
@@ -108,7 +108,7 @@ module Fastlane
|
|
|
108
108
|
puts(table)
|
|
109
109
|
|
|
110
110
|
fastlane_command = Helper.bundler? ? "bundle exec fastlane" : "fastlane"
|
|
111
|
-
i = UI.input("Which number would you like run?")
|
|
111
|
+
i = UI.input("Which number would you like to run?")
|
|
112
112
|
|
|
113
113
|
i = i.to_i - 1
|
|
114
114
|
if i >= 0 && available[i]
|
|
@@ -31,4 +31,20 @@ module Fastlane
|
|
|
31
31
|
"Screengrabfile",
|
|
32
32
|
"Snapshotfile"
|
|
33
33
|
]
|
|
34
|
+
|
|
35
|
+
TOOL_ALIASES = {
|
|
36
|
+
"get_certificates": "cert",
|
|
37
|
+
"upload_to_app_store": "deliver",
|
|
38
|
+
"frame_screenshots": "frameit",
|
|
39
|
+
"build_app": "gym",
|
|
40
|
+
"build_ios_app": "gym",
|
|
41
|
+
"build_mac_app": "gym",
|
|
42
|
+
"sync_code_signing": "match",
|
|
43
|
+
"get_push_certificate": "pem",
|
|
44
|
+
"check_app_store_metadata": "precheck",
|
|
45
|
+
"capture_android_screenshots": "screengrab",
|
|
46
|
+
"get_provisioning_profile": "sigh",
|
|
47
|
+
"capture_ios_screenshots": "snapshot",
|
|
48
|
+
"upload_to_play_store": "supply"
|
|
49
|
+
}
|
|
34
50
|
end
|
|
@@ -65,6 +65,9 @@ public protocol DeliverfileProtocol: AnyObject {
|
|
|
65
65
|
/// Submit the new version for Review after uploading everything
|
|
66
66
|
var submitForReview: Bool { get }
|
|
67
67
|
|
|
68
|
+
/// Verifies archive with App Store Connect without uploading
|
|
69
|
+
var verifyOnly: Bool { get }
|
|
70
|
+
|
|
68
71
|
/// Rejects the previously submitted build if it's in a state where it's possible
|
|
69
72
|
var rejectIfPossible: Bool { get }
|
|
70
73
|
|
|
@@ -214,6 +217,7 @@ public extension DeliverfileProtocol {
|
|
|
214
217
|
var overwriteScreenshots: Bool { return false }
|
|
215
218
|
var syncScreenshots: Bool { return false }
|
|
216
219
|
var submitForReview: Bool { return false }
|
|
220
|
+
var verifyOnly: Bool { return false }
|
|
217
221
|
var rejectIfPossible: Bool { return false }
|
|
218
222
|
var automaticRelease: Bool? { return nil }
|
|
219
223
|
var autoReleaseDate: Int? { return nil }
|
|
@@ -260,4 +264,4 @@ public extension DeliverfileProtocol {
|
|
|
260
264
|
|
|
261
265
|
// Please don't remove the lines below
|
|
262
266
|
// They are used to detect outdated files
|
|
263
|
-
// FastlaneRunnerAPIVersion [0.9.
|
|
267
|
+
// FastlaneRunnerAPIVersion [0.9.105]
|