fastlane 2.201.1 → 2.201.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de45de805167ed42b9b9ca8e458af9c292ea15254677ef2096f3d4d22be71f27
4
- data.tar.gz: 4b8aeaaa8347aa87e6d467d1c25d0f97672e25689c1f3d2a90775e1a638c8fc3
3
+ metadata.gz: dabb7109f8b9939e88bab3d87ce3e3d9f19c8e5d237e663c879c1c928875fb49
4
+ data.tar.gz: f45606c95b0fd6ec72997aa17f81771f88092805bd20f29f333a98f1a2a69e7f
5
5
  SHA512:
6
- metadata.gz: ba614e31deb05b17521edc2cc755738b876f80cb4b0d49411f76d524665c358241d79d1401b1e58f5de93778235a73e8f982f6a250912f3fde358c9e51b5b59a
7
- data.tar.gz: 997d036a081987c2df2134057f4c1ac94fe81ac6a06af00994d326797207eb7b4bcabe3c3605c9092c91e473e745d9c2e5516811b9172b3c596f874d3292c41e
6
+ metadata.gz: 36eea11519fe8e1c8f8f6e6e86ad8ac1fa33642f0b4f9cbc7d4508b43f934ea2d9e3cd031f6a4e977a578ad073fb9947240c44ec5630c9c122093e2f2397bbe0
7
+ data.tar.gz: 71e17edc1ffe937fef3406820732f50eed1a1698a310d009af0665543035e0352e9ed013ffef7637e868359bb8231ffffd100e609fee8deb576f9558397b74af
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='jorge-revuelta-h'>
39
- <a href='https://github.com/minuscorp'>
40
- <img src='https://github.com/minuscorp.png' width='140px;'>
38
+ <td id='daniel-jankowski'>
39
+ <a href='https://github.com/mollyIV'>
40
+ <img src='https://github.com/mollyIV.png' width='140px;'>
41
41
  </a>
42
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
43
43
  </td>
44
44
  <td id='luka-mirosevic'>
45
45
  <a href='https://github.com/lmirosevic'>
@@ -47,23 +47,23 @@ 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/lmirosevic'>Luka Mirosevic</a></h4>
49
49
  </td>
50
- <td id='jimmy-dee'>
51
- <a href='https://github.com/jdee'>
52
- <img src='https://github.com/jdee.png' width='140px;'>
53
- </a>
54
- <h4 align='center'>Jimmy Dee</h4>
55
- </td>
56
50
  <td id='iulian-onofrei'>
57
51
  <a href='https://github.com/revolter'>
58
52
  <img src='https://github.com/revolter.png' width='140px;'>
59
53
  </a>
60
54
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
61
55
  </td>
62
- <td id='olivier-halligon'>
63
- <a href='https://github.com/AliSoftware'>
64
- <img src='https://github.com/AliSoftware.png' width='140px;'>
56
+ <td id='andrew-mcburney'>
57
+ <a href='https://github.com/armcburney'>
58
+ <img src='https://github.com/armcburney.png' width='140px;'>
65
59
  </a>
66
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
61
+ </td>
62
+ <td id='manu-wallner'>
63
+ <a href='https://github.com/milch'>
64
+ <img src='https://github.com/milch.png' width='140px;'>
65
+ </a>
66
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
@@ -73,55 +73,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
73
73
  </a>
74
74
  <h4 align='center'>Łukasz Grabowski</h4>
75
75
  </td>
76
- <td id='josh-holtz'>
77
- <a href='https://github.com/joshdholtz'>
78
- <img src='https://github.com/joshdholtz.png' width='140px;'>
76
+ <td id='roger-oba'>
77
+ <a href='https://github.com/rogerluan'>
78
+ <img src='https://github.com/rogerluan.png' width='140px;'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
81
81
  </td>
82
- <td id='felix-krause'>
83
- <a href='https://github.com/KrauseFx'>
84
- <img src='https://github.com/KrauseFx.png' width='140px;'>
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/KrauseFx'>Felix Krause</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
87
87
  </td>
88
- <td id='joshua-liebowitz'>
89
- <a href='https://github.com/taquitos'>
90
- <img src='https://github.com/taquitos.png' width='140px;'>
88
+ <td id='jérôme-lacoste'>
89
+ <a href='https://github.com/lacostej'>
90
+ <img src='https://github.com/lacostej.png' width='140px;'>
91
91
  </a>
92
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
93
93
  </td>
94
- <td id='danielle-tomlinson'>
95
- <a href='https://github.com/endocrimes'>
96
- <img src='https://github.com/endocrimes.png' width='140px;'>
94
+ <td id='fumiya-nakamura'>
95
+ <a href='https://github.com/nafu'>
96
+ <img src='https://github.com/nafu.png' width='140px;'>
97
97
  </a>
98
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='manu-wallner'>
103
- <a href='https://github.com/milch'>
104
- <img src='https://github.com/milch.png' width='140px;'>
105
- </a>
106
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</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>
113
- </td>
114
- <td id='daniel-jankowski'>
115
- <a href='https://github.com/mollyIV'>
116
- <img src='https://github.com/mollyIV.png' width='140px;'>
102
+ <td id='stefan-natchev'>
103
+ <a href='https://github.com/snatchev'>
104
+ <img src='https://github.com/snatchev.png' width='140px;'>
117
105
  </a>
118
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
119
107
  </td>
120
- <td id='roger-oba'>
121
- <a href='https://github.com/rogerluan'>
122
- <img src='https://github.com/rogerluan.png' width='140px;'>
108
+ <td id='jimmy-dee'>
109
+ <a href='https://github.com/jdee'>
110
+ <img src='https://github.com/jdee.png' width='140px;'>
123
111
  </a>
124
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
112
+ <h4 align='center'>Jimmy Dee</h4>
125
113
  </td>
126
114
  <td id='satoshi-namai'>
127
115
  <a href='https://github.com/ainame'>
@@ -129,57 +117,75 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
129
117
  </a>
130
118
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
131
119
  </td>
132
- </tr>
133
- <tr>
134
- <td id='manish-rathi'>
135
- <a href='https://github.com/crazymanish'>
136
- <img src='https://github.com/crazymanish.png' width='140px;'>
120
+ <td id='josh-holtz'>
121
+ <a href='https://github.com/joshdholtz'>
122
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
137
123
  </a>
138
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
139
125
  </td>
140
- <td id='aaron-brager'>
141
- <a href='https://github.com/getaaron'>
142
- <img src='https://github.com/getaaron.png' width='140px;'>
126
+ <td id='danielle-tomlinson'>
127
+ <a href='https://github.com/endocrimes'>
128
+ <img src='https://github.com/endocrimes.png' width='140px;'>
143
129
  </a>
144
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
145
131
  </td>
146
- <td id='jérôme-lacoste'>
147
- <a href='https://github.com/lacostej'>
148
- <img src='https://github.com/lacostej.png' width='140px;'>
132
+ </tr>
133
+ <tr>
134
+ <td id='olivier-halligon'>
135
+ <a href='https://github.com/AliSoftware'>
136
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
149
137
  </a>
150
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
151
139
  </td>
152
- <td id='stefan-natchev'>
153
- <a href='https://github.com/snatchev'>
154
- <img src='https://github.com/snatchev.png' width='140px;'>
140
+ <td id='maksym-grebenets'>
141
+ <a href='https://github.com/mgrebenets'>
142
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
155
143
  </a>
156
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
144
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
157
145
  </td>
158
- <td id='jan-piotrowski'>
159
- <a href='https://github.com/janpio'>
160
- <img src='https://github.com/janpio.png' width='140px;'>
146
+ <td id='felix-krause'>
147
+ <a href='https://github.com/KrauseFx'>
148
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
161
149
  </a>
162
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
150
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
163
151
  </td>
164
- </tr>
165
- <tr>
166
152
  <td id='matthew-ellis'>
167
153
  <a href='https://github.com/matthewellis'>
168
154
  <img src='https://github.com/matthewellis.png' width='140px;'>
169
155
  </a>
170
156
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
171
157
  </td>
172
- <td id='andrew-mcburney'>
173
- <a href='https://github.com/armcburney'>
174
- <img src='https://github.com/armcburney.png' width='140px;'>
158
+ <td id='kohki-miki'>
159
+ <a href='https://github.com/giginet'>
160
+ <img src='https://github.com/giginet.png' width='140px;'>
175
161
  </a>
176
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
177
163
  </td>
178
- <td id='fumiya-nakamura'>
179
- <a href='https://github.com/nafu'>
180
- <img src='https://github.com/nafu.png' width='140px;'>
164
+ </tr>
165
+ <tr>
166
+ <td id='joshua-liebowitz'>
167
+ <a href='https://github.com/taquitos'>
168
+ <img src='https://github.com/taquitos.png' width='140px;'>
181
169
  </a>
182
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
171
+ </td>
172
+ <td id='jorge-revuelta-h'>
173
+ <a href='https://github.com/minuscorp'>
174
+ <img src='https://github.com/minuscorp.png' width='140px;'>
175
+ </a>
176
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
177
+ </td>
178
+ <td id='jan-piotrowski'>
179
+ <a href='https://github.com/janpio'>
180
+ <img src='https://github.com/janpio.png' width='140px;'>
181
+ </a>
182
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
183
+ </td>
184
+ <td id='manish-rathi'>
185
+ <a href='https://github.com/crazymanish'>
186
+ <img src='https://github.com/crazymanish.png' width='140px;'>
187
+ </a>
188
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
183
189
  </td>
184
190
  <td id='helmut-januschka'>
185
191
  <a href='https://github.com/hjanuschka'>
@@ -187,20 +193,14 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
187
193
  </a>
188
194
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
189
195
  </td>
196
+ </tr>
197
+ <tr>
190
198
  <td id='max-ott'>
191
199
  <a href='https://github.com/max-ott'>
192
200
  <img src='https://github.com/max-ott.png' width='140px;'>
193
201
  </a>
194
202
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
195
203
  </td>
196
- </tr>
197
- <tr>
198
- <td id='maksym-grebenets'>
199
- <a href='https://github.com/mgrebenets'>
200
- <img src='https://github.com/mgrebenets.png' width='140px;'>
201
- </a>
202
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
203
- </td>
204
204
  </table>
205
205
 
206
206
  Special thanks to all [contributors](https://github.com/fastlane/fastlane/graphs/contributors) for extending and improving _fastlane_.
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.201.1'.freeze
2
+ VERSION = '2.201.2'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '1.12.1'.freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -260,4 +260,4 @@ public extension DeliverfileProtocol {
260
260
 
261
261
  // Please don't remove the lines below
262
262
  // They are used to detect outdated files
263
- // FastlaneRunnerAPIVersion [0.9.92]
263
+ // FastlaneRunnerAPIVersion [0.9.93]
@@ -8629,7 +8629,7 @@ public func rubyVersion() {
8629
8629
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
8630
8630
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
8631
8631
  - useSystemScm: Lets xcodebuild use system's scm configuration
8632
- - numberOfRetries: The number of times a test can fail before scan should stop retrying
8632
+ - numberOfRetries: The number of times a test can fail
8633
8633
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
8634
8634
 
8635
8635
  More information: https://docs.fastlane.tools/actions/scan/
@@ -9046,7 +9046,7 @@ public func say(text: [String],
9046
9046
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
9047
9047
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
9048
9048
  - useSystemScm: Lets xcodebuild use system's scm configuration
9049
- - numberOfRetries: The number of times a test can fail before scan should stop retrying
9049
+ - numberOfRetries: The number of times a test can fail
9050
9050
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
9051
9051
 
9052
9052
  More information: https://docs.fastlane.tools/actions/scan/
@@ -13394,4 +13394,4 @@ public let snapshotfile: Snapshotfile = .init()
13394
13394
 
13395
13395
  // Please don't remove the lines below
13396
13396
  // They are used to detect outdated files
13397
- // FastlaneRunnerAPIVersion [0.9.145]
13397
+ // FastlaneRunnerAPIVersion [0.9.146]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -204,4 +204,4 @@ public extension GymfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.95]
207
+ // FastlaneRunnerAPIVersion [0.9.96]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -192,4 +192,4 @@ public extension MatchfileProtocol {
192
192
 
193
193
  // Please don't remove the lines below
194
194
  // They are used to detect outdated files
195
- // FastlaneRunnerAPIVersion [0.9.89]
195
+ // FastlaneRunnerAPIVersion [0.9.90]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.88]
55
+ // FastlaneRunnerAPIVersion [0.9.89]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -221,7 +221,7 @@ public protocol ScanfileProtocol: class {
221
221
  /// Lets xcodebuild use system's scm configuration
222
222
  var useSystemScm: Bool { get }
223
223
 
224
- /// The number of times a test can fail before scan should stop retrying
224
+ /// The number of times a test can fail
225
225
  var numberOfRetries: Int { get }
226
226
 
227
227
  /// Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -308,4 +308,4 @@ public extension ScanfileProtocol {
308
308
 
309
309
  // Please don't remove the lines below
310
310
  // They are used to detect outdated files
311
- // FastlaneRunnerAPIVersion [0.9.100]
311
+ // FastlaneRunnerAPIVersion [0.9.101]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.90]
99
+ // FastlaneRunnerAPIVersion [0.9.91]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.1
20
+ // Generated with fastlane 2.201.2
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.84]
207
+ // FastlaneRunnerAPIVersion [0.9.85]
@@ -56,9 +56,9 @@
56
56
  "macOS": "11.6"
57
57
  },
58
58
  "monterey": {
59
- "HOMEBREW_VERSION": "3.3.11-103-g768b172",
59
+ "HOMEBREW_VERSION": "3.3.12-10-g129e5bb",
60
60
  "HOMEBREW_PREFIX": "/opt/homebrew",
61
- "Homebrew/homebrew-core": "3636e44542f6dbd859a4bd8a143a433e8930361f",
61
+ "Homebrew/homebrew-core": "ee89c86d2e1e18edd19974ae766264a4dcd1246d",
62
62
  "CLT": "13.2.0.0.1.1638488800",
63
63
  "Xcode": "13.2.1",
64
64
  "macOS": "12.0.1"
@@ -515,7 +515,7 @@ module Scan
515
515
  default_value: false),
516
516
  FastlaneCore::ConfigItem.new(key: :number_of_retries,
517
517
  env_name: 'SCAN_NUMBER_OF_RETRIES',
518
- description: "The number of times a test can fail before scan should stop retrying",
518
+ description: "The number of times a test can fail",
519
519
  type: Integer,
520
520
  default_value: 0)
521
521
 
@@ -20,6 +20,7 @@ module Scan
20
20
  end
21
21
 
22
22
  def run
23
+ @xcresults_before_run = find_xcresults_in_derived_data
23
24
  handle_results(test_app)
24
25
  end
25
26
 
@@ -106,7 +107,7 @@ module Scan
106
107
  tests = retryable_tests(error_output)
107
108
 
108
109
  if tests.empty?
109
- UI.crash!("Failed to find failed tests to retry (could not parse error output)")
110
+ UI.build_failure!("Failed to find failed tests to retry (could not parse error output)")
110
111
  end
111
112
 
112
113
  Scan.config[:only_testing] = tests
@@ -172,6 +173,12 @@ module Scan
172
173
  return find_filename('json-compilation-database')
173
174
  end
174
175
 
176
+ def find_xcresults_in_derived_data
177
+ derived_data_path = Scan.config[:derived_data_path]
178
+ xcresults_path = File.join(derived_data_path, "Logs", "Test", "*.xcresult")
179
+ return Dir[xcresults_path]
180
+ end
181
+
175
182
  def trainer_test_results
176
183
  require "trainer"
177
184
 
@@ -183,10 +190,23 @@ module Scan
183
190
 
184
191
  result_bundle_path = Scan.cache[:result_bundle_path]
185
192
 
193
+ # Looks for xcresult file in derived data if not specifically set
194
+ if result_bundle_path.nil?
195
+ xcresults = find_xcresults_in_derived_data
196
+ new_xcresults = xcresults - @xcresults_before_run
197
+
198
+ if new_xcresults.size != 1
199
+ UI.build_failure!("Cannot find .xcresult in derived data which is needed to determine test results. This is an issue within scan. File an issue on GitHub or try setting option `result_bundle: true`")
200
+ end
201
+
202
+ result_bundle_path = new_xcresults.first
203
+ Scan.cache[:result_bundle_path] = result_bundle_path
204
+ end
205
+
186
206
  output_path = Scan.config[:output_directory] || Dir.mktmpdir
187
207
  output_path = File.absolute_path(output_path)
188
208
 
189
- UI.crash!("A -resultBundlePath is needed to parse the test results. This should not have happened. Please file an issue.") unless result_bundle_path
209
+ UI.build_failure!("A -resultBundlePath is needed to parse the test results. This should not have happened. Please file an issue.") unless result_bundle_path
190
210
 
191
211
  params = {
192
212
  path: result_bundle_path,
@@ -53,7 +53,7 @@ module Scan
53
53
  if config[:use_system_scm] && !options.include?("-scmProvider system")
54
54
  options << "-scmProvider system"
55
55
  end
56
- options << "-resultBundlePath '#{result_bundle_path(config[:result_bundle])}'"
56
+ options << "-resultBundlePath '#{result_bundle_path(true)}'" if config[:result_bundle]
57
57
  if FastlaneCore::Helper.xcode_at_least?(10)
58
58
  options << "-parallel-testing-worker-count #{config[:concurrent_workers]}" if config[:concurrent_workers]
59
59
  options << "-maximum-concurrent-test-simulator-destinations #{config[:max_concurrent_simulators]}" if config[:max_concurrent_simulators]
@@ -72,9 +72,13 @@ module Scan
72
72
  end
73
73
  options << "-xctestrun '#{config[:xctestrun]}'" if config[:xctestrun]
74
74
  options << config[:xcargs] if config[:xcargs]
75
- if config[:number_of_retries] >= 1 && FastlaneCore::Helper.xcode_at_least?(13)
75
+
76
+ # Number of retries does not equal xcodebuild's -test-iterations number
77
+ # It needs include 1 iteration by default
78
+ number_of_retries = config[:number_of_retries] + 1
79
+ if number_of_retries > 1 && FastlaneCore::Helper.xcode_at_least?(13)
76
80
  options << "-retry-tests-on-failure"
77
- options << "-test-iterations #{config[:number_of_retries]}"
81
+ options << "-test-iterations #{number_of_retries}"
78
82
  end
79
83
 
80
84
  # detect_values will ensure that these values are present as Arrays if
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.201.1
4
+ version: 2.201.2
5
5
  platform: ruby
6
6
  authors:
7
- - Jorge Revuelta H
8
- - Jérôme Lacoste
9
- - Andrew McBurney
10
- - Daniel Jankowski
11
- - Satoshi Namai
12
- - Helmut Januschka
7
+ - Manish Rathi
8
+ - Max Ott
9
+ - Olivier Halligon
10
+ - Jimmy Dee
13
11
  - Josh Holtz
12
+ - Aaron Brager
13
+ - Luka Mirosevic
14
14
  - Iulian Onofrei
15
- - Roger Oba
16
- - Jimmy Dee
15
+ - Matthew Ellis
16
+ - Jérôme Lacoste
17
+ - Felix Krause
18
+ - Fumiya Nakamura
19
+ - Maksym Grebenets
20
+ - Danielle Tomlinson
21
+ - Daniel Jankowski
17
22
  - Łukasz Grabowski
18
23
  - Manu Wallner
19
- - Matthew Ellis
20
- - Manish Rathi
24
+ - Andrew McBurney
25
+ - Stefan Natchev
21
26
  - Jan Piotrowski
22
- - Fumiya Nakamura
23
- - Luka Mirosevic
24
- - Olivier Halligon
25
27
  - Joshua Liebowitz
26
- - Felix Krause
27
- - Aaron Brager
28
+ - Jorge Revuelta H
29
+ - Satoshi Namai
30
+ - Roger Oba
28
31
  - Kohki Miki
29
- - Stefan Natchev
30
- - Max Ott
31
- - Danielle Tomlinson
32
- - Maksym Grebenets
32
+ - Helmut Januschka
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2022-01-23 00:00:00.000000000 Z
36
+ date: 2022-01-25 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: xcodeproj
@@ -1017,7 +1017,6 @@ files:
1017
1017
  - fastlane/lib/fastlane/action.rb
1018
1018
  - fastlane/lib/fastlane/action_collector.rb
1019
1019
  - fastlane/lib/fastlane/actions/.DS_Store
1020
- - fastlane/lib/fastlane/actions/.run_tests.rb.swp
1021
1020
  - fastlane/lib/fastlane/actions/README.md
1022
1021
  - fastlane/lib/fastlane/actions/actions_helper.rb
1023
1022
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1578,8 +1577,6 @@ files:
1578
1577
  - scan/lib/assets/ScanfileTemplate
1579
1578
  - scan/lib/assets/ScanfileTemplate.swift
1580
1579
  - scan/lib/scan.rb
1581
- - scan/lib/scan/.error_handler.rb.swp
1582
- - scan/lib/scan/.runner.rb.swp
1583
1580
  - scan/lib/scan/commands_generator.rb
1584
1581
  - scan/lib/scan/detect_values.rb
1585
1582
  - scan/lib/scan/error_handler.rb
@@ -1623,6 +1620,7 @@ files:
1623
1620
  - snapshot/lib/assets/SnapshotHelper.swift
1624
1621
  - snapshot/lib/assets/SnapshotHelperXcode8.swift
1625
1622
  - snapshot/lib/snapshot.rb
1623
+ - snapshot/lib/snapshot/.options.rb.swp
1626
1624
  - snapshot/lib/snapshot/collector.rb
1627
1625
  - snapshot/lib/snapshot/commands_generator.rb
1628
1626
  - snapshot/lib/snapshot/dependency_checker.rb
@@ -1850,7 +1848,6 @@ files:
1850
1848
  - trainer/lib/.DS_Store
1851
1849
  - trainer/lib/assets/junit.xml.erb
1852
1850
  - trainer/lib/trainer.rb
1853
- - trainer/lib/trainer/.options.rb.swp
1854
1851
  - trainer/lib/trainer/commands_generator.rb
1855
1852
  - trainer/lib/trainer/junit_generator.rb
1856
1853
  - trainer/lib/trainer/module.rb
Binary file
Binary file
Binary file