fastlane-plugin-try_scan 1.0.0 → 1.0.1

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: 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