fastlane-plugin-try_scan 1.0.0 → 1.0.1

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: 9a2ac62b11641f4b9eedad2e76438debeec8e6e85ce255c1d556f8bed37df3bf
4
- data.tar.gz: f131bd125d5dddb9b2ee61858e1d089a73ed1883d761db1ba8202305330ef70d
3
+ metadata.gz: e8b1ddd52d18056454daac6439174007793d35118f4288fb081351b3afb4b9bd
4
+ data.tar.gz: ef591e6c38f9bccb374acd281c3b3b35b3cbc9e312b8f1148ed742f1a53819eb
5
5
  SHA512:
6
- metadata.gz: 1cd2f40bdd31874c7a531a411e4fa0524fcb9d21950eaade21cca1db6e73424ccf59cfdc5f8ff8ada9a452eacc28710313657ee0ac3a356245a093b7d696d505
7
- data.tar.gz: 89333c0f2af0d2f258e3596268da05e44ead692bba3f80eab9e1cf86bcdc034c7b3dc9ee3b2da08aa4644bfee04361fa19a4816e89e80f96872bb1b296db4b69
6
+ metadata.gz: 464e74a6bc906a21eaba25240239e39c16892060e381375ee1312105e4e65ff639b198001f2cc96a420bb3afa50b655404314e08cefb863a99550778e6c31c12
7
+ data.tar.gz: c756f55f28a47ed440578aeb24aae388257a83b0a4ee773d0522c2a34b63a27a638d1ae5c6d81e21da550425cdd1e51e0f30011c9f1f25ee55f5d6c40861f67e
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_build | Should building be retried after failure? | false |
17
18
  | retry_strategy | What would you like to retry after failure: test, class or suite? | test |
18
19
 
19
20
  ## Requirements
@@ -1,6 +1,5 @@
1
1
  module Fastlane
2
2
  module Actions
3
-
4
3
  require 'json'
5
4
  require 'fastlane/actions/scan'
6
5
  require_relative '../helper/scan_helper'
@@ -67,6 +66,14 @@ module Fastlane
67
66
  is_string: false,
68
67
  optional: true
69
68
  ),
69
+ FastlaneCore::ConfigItem.new(
70
+ key: :retry_build,
71
+ env_name: "FL_TRY_SCAN_RETRY_BUILD",
72
+ description: "Should building be retried after failure?",
73
+ is_string: false,
74
+ optional: true,
75
+ default_value: false
76
+ ),
70
77
  FastlaneCore::ConfigItem.new(
71
78
  key: :retry_strategy,
72
79
  env_name: "FL_TRY_SCAN_RETRY_STRATEGY",
@@ -1,6 +1,5 @@
1
1
  module TryScanManager
2
2
  class Runner
3
-
4
3
  FastlaneScanHelper = TryScanManager::Helper::FastlaneScanHelper
5
4
 
6
5
  def initialize(options = {})
@@ -29,7 +28,7 @@ module TryScanManager
29
28
  update_scan_options(failed_tests)
30
29
  retry
31
30
  rescue FastlaneCore::Interface::FastlaneBuildFailure => _
32
- return false if finish?
31
+ return false if finish? || !@options[:retry_build]
33
32
 
34
33
  @attempt += 1
35
34
  retry
@@ -70,7 +69,7 @@ module TryScanManager
70
69
  def print_try_scan_result(failed_tests_count: 0)
71
70
  FastlaneCore::UI.important("TryScan: result after #{ordinalized_attempt} shot 👇")
72
71
  FastlaneCore::PrintTable.print_values(
73
- config: {"Number of tests" => tests_count_from_xcresult_report, "Number of failures" => failed_tests_count},
72
+ config: { "Number of tests" => tests_count_from_xcresult_report, "Number of failures" => failed_tests_count },
74
73
  title: "Test Results"
75
74
  )
76
75
  end
@@ -123,7 +122,7 @@ module TryScanManager
123
122
  else
124
123
  xcargs << '-parallel-testing-enabled NO'
125
124
  end
126
- @options[:xcargs] = "#{@options[:xcargs].to_s} #{xcargs.join(' ')}"
125
+ @options[:xcargs] = "#{@options[:xcargs]} #{xcargs.join(' ')}"
127
126
  end
128
127
 
129
128
  def update_scan_options(failed_tests)
@@ -141,7 +140,7 @@ module TryScanManager
141
140
  next if val.nil?
142
141
 
143
142
  Scan.config.set(key, val)
144
- FastlaneCore::UI.verbose("\tSetting #{key.to_s} to #{val}")
143
+ FastlaneCore::UI.verbose("\tSetting #{key} to #{val}")
145
144
  end
146
145
  end
147
146
 
@@ -175,17 +174,18 @@ module TryScanManager
175
174
  begin
176
175
  test_class = test_path.split('.').first
177
176
  test_name = test_path.split('.')[1].split('(').first
178
- rescue NoMethodError => _
177
+ rescue
179
178
  test_class = test_path.split('[')[1].split(' ').first
180
179
  test_name = test_path.split(' ')[1].split(']').first
181
180
  end
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
181
+ only_testing <<
182
+ 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
189
189
  end
190
190
  only_testing.uniq
191
191
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module TryScan
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
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: 1.0.0
4
+ version: 1.0.1
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-27 00:00:00.000000000 Z
11
+ date: 2020-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -39,21 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec_junit_formatter
42
+ name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -67,19 +53,19 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: rake
56
+ name: fasterer
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ">="
59
+ - - '='
74
60
  - !ruby/object:Gem::Version
75
- version: '0'
61
+ version: 0.8.3
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ">="
66
+ - - '='
81
67
  - !ruby/object:Gem::Version
82
- version: '0'
68
+ version: 0.8.3
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: rubocop
85
71
  requirement: !ruby/object:Gem::Requirement