fastlane-plugin-try_scan 0.5.1 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b2cd7acb930212c6e8cf756c89e71741878e510c46af3f3f747feaafc3d5bac
4
- data.tar.gz: 8e11f9f1caf48d396983cfd2aabdb30c49d5da44a7ef0db43ec4314765dbb7aa
3
+ metadata.gz: 9a2ac62b11641f4b9eedad2e76438debeec8e6e85ce255c1d556f8bed37df3bf
4
+ data.tar.gz: f131bd125d5dddb9b2ee61858e1d089a73ed1883d761db1ba8202305330ef70d
5
5
  SHA512:
6
- metadata.gz: 98f4a9b2f8db939dcf38507ad52ad275799b56a14cb3cc804fa20f9133e6bc01a7106ca3c38709d71b698941fff16b9b40b4330107b19545a2053810eff565a1
7
- data.tar.gz: 8b0bcc7346f9fc389946e74fd1e22880e1f1cf82199c82f3cc3d2c2c21f416ad8ac84e734a130de5d62114c84c968d29a2c32d4073d37e6d34479430994d469b
6
+ metadata.gz: 1cd2f40bdd31874c7a531a411e4fa0524fcb9d21950eaade21cca1db6e73424ccf59cfdc5f8ff8ada9a452eacc28710313657ee0ac3a356245a093b7d696d505
7
+ data.tar.gz: 89333c0f2af0d2f258e3596268da05e44ead692bba3f80eab9e1cf86bcdc034c7b3dc9ee3b2da08aa4644bfee04361fa19a4816e89e80f96872bb1b296db4b69
data/README.md CHANGED
@@ -14,6 +14,7 @@ Under the hood `try_scan` uses official [`fastlane scan action`](https://docs.fa
14
14
  | try_parallel | Should first run be executed in parallel? Equivalent to `-parallel-testing-enabled` | true |
15
15
  | retry_parallel | Should subsequent runs be executed in parallel? Required `try_parallel: true` | true |
16
16
  | parallel_workers | Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to `-parallel-testing-worker-count` and `concurrent_workers` | |
17
+ | retry_strategy | What would you like to retry after failure: test, class or suite? | test |
17
18
 
18
19
  ## Requirements
19
20
 
@@ -66,6 +66,18 @@ module Fastlane
66
66
  type: Integer,
67
67
  is_string: false,
68
68
  optional: true
69
+ ),
70
+ FastlaneCore::ConfigItem.new(
71
+ key: :retry_strategy,
72
+ env_name: "FL_TRY_SCAN_RETRY_STRATEGY",
73
+ description: "What would you like to retry after failure: test, class or suite?",
74
+ is_string: true,
75
+ optional: true,
76
+ default_value: 'test',
77
+ verify_block: proc do |strategy|
78
+ possible_strategies = ['test', 'class', 'suite']
79
+ UI.user_error!("Error: :retry_strategy must equal to one of the following values: #{possible_strategies}") unless possible_strategies.include?(strategy)
80
+ end
69
81
  )
70
82
  ]
71
83
  end
@@ -145,6 +145,18 @@ module TryScanManager
145
145
  end
146
146
  end
147
147
 
148
+ def retry_failed_test?
149
+ @options[:retry_strategy] == 'test'
150
+ end
151
+
152
+ def retry_failed_class?
153
+ @options[:retry_strategy] == 'class'
154
+ end
155
+
156
+ def retry_failed_suite?
157
+ @options[:retry_strategy] == 'suite'
158
+ end
159
+
148
160
  def parse_xcresult_report
149
161
  report_options = FastlaneScanHelper.report_options
150
162
  output_directory = report_options.instance_variable_get(:@output_directory)
@@ -167,9 +179,15 @@ module TryScanManager
167
179
  test_class = test_path.split('[')[1].split(' ').first
168
180
  test_name = test_path.split(' ')[1].split(']').first
169
181
  end
170
- only_testing << "#{suite_name}/#{test_class}/#{test_name}"
182
+ only_testing << if retry_failed_test?
183
+ "#{suite_name}/#{test_class}/#{test_name}"
184
+ elsif retry_failed_class?
185
+ "#{suite_name}/#{test_class}"
186
+ elsif retry_failed_suite?
187
+ suite_name
188
+ end
171
189
  end
172
- only_testing
190
+ only_testing.uniq
173
191
  end
174
192
 
175
193
  def tests_count_from_xcresult_report
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TryScan
3
- VERSION = "0.5.1"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-try_scan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Alter-Pesotskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-25 00:00:00.000000000 Z
11
+ date: 2020-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: 2.144.0
139
139
  description:
140
- email: 33gri@bk.ru
140
+ email: a.alterpesotskiy@mail.ru
141
141
  executables: []
142
142
  extensions: []
143
143
  extra_rdoc_files: []
@@ -172,5 +172,5 @@ requirements: []
172
172
  rubygems_version: 3.0.3
173
173
  signing_key:
174
174
  specification_version: 4
175
- summary: Simple way to retry your scan action
175
+ summary: The easiest way to retry your fastlane scan action
176
176
  test_files: []