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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8b1ddd52d18056454daac6439174007793d35118f4288fb081351b3afb4b9bd
|
4
|
+
data.tar.gz: ef591e6c38f9bccb374acd281c3b3b35b3cbc9e312b8f1148ed742f1a53819eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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]
|
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
|
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
|
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 <<
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
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
|
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.
|
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-
|
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:
|
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:
|
56
|
+
name: fasterer
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- -
|
59
|
+
- - '='
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
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:
|
68
|
+
version: 0.8.3
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rubocop
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|