ci-queue 0.30.0 → 0.32.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 +4 -4
- data/Gemfile +1 -1
- data/dev.yml +1 -1
- data/lib/ci/queue/version.rb +1 -1
- data/lib/minitest/queue/local_requeue_reporter.rb +1 -1
- data/lib/minitest/queue/runner.rb +36 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffbfc433f36b0b8dcb19d9c2f17ab4227815dc1a7211b111d33a98fbc0ae6bf8
|
4
|
+
data.tar.gz: b84dc1389720a40520c74d57ae65d3161e5b00b91762d8ffc3a6cb4734d2d7dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c7207ab7fa5995ea934212f5c5a2dac179b8bcdf67221040fc8e6e41e4653570b34e9aff18e4bbb647797ea4792e93d962c71d4a354ba57399a4114c6de7e61
|
7
|
+
data.tar.gz: '027848c07795e66c33fccb820465e9df3ff1fe2c75864192159e9e8902bbc679fcb21963a272b4f0d15ad0844b7524799ade11a02e3a8e45c276ec705f367a7c'
|
data/Gemfile
CHANGED
data/dev.yml
CHANGED
data/lib/ci/queue/version.rb
CHANGED
@@ -68,7 +68,7 @@ module Minitest
|
|
68
68
|
set_load_path
|
69
69
|
Minitest.queue = queue
|
70
70
|
reporters = [
|
71
|
-
LocalRequeueReporter.new,
|
71
|
+
LocalRequeueReporter.new(verbose: verbose),
|
72
72
|
BuildStatusRecorder.new(build: queue.build),
|
73
73
|
JUnitReporter.new,
|
74
74
|
TestDataReporter.new(namespace: queue_config&.namespace),
|
@@ -88,9 +88,36 @@ module Minitest
|
|
88
88
|
load_tests
|
89
89
|
populate_queue
|
90
90
|
end
|
91
|
+
|
92
|
+
at_exit {
|
93
|
+
verify_reporters!(reporters)
|
94
|
+
}
|
91
95
|
# Let minitest's at_exit hook trigger
|
92
96
|
end
|
93
97
|
|
98
|
+
def verify_reporters!(reporters)
|
99
|
+
return unless reporters.any? { |r| !Minitest::Reporters.reporters.include?(r) }
|
100
|
+
|
101
|
+
warn <<~WARNING
|
102
|
+
WARNING!
|
103
|
+
|
104
|
+
ci-queue requires several custom minitest reporters.
|
105
|
+
Please do not overwrite them.
|
106
|
+
If you have a statement in your test suite like this
|
107
|
+
|
108
|
+
Minitest::Reporters.use!(SomeReporter.new)
|
109
|
+
|
110
|
+
you should only run it when other reporters have not been configured
|
111
|
+
to avoid breaking ci-queue's functionality and getting false test summaries.
|
112
|
+
|
113
|
+
Use something like this:
|
114
|
+
|
115
|
+
if Minitest::Reporters.reporters.nil?
|
116
|
+
Minitest::Reporters.use!(SomeReporter.new)
|
117
|
+
end
|
118
|
+
WARNING
|
119
|
+
end
|
120
|
+
|
94
121
|
def release_command
|
95
122
|
require_worker_id!
|
96
123
|
queue.release!
|
@@ -148,6 +175,7 @@ module Minitest
|
|
148
175
|
unless run_tests_in_fork(queue.failing_test)
|
149
176
|
puts reopen_previous_step
|
150
177
|
puts red("The test fail when ran alone, no need to bisect.")
|
178
|
+
File.write('log/test_order.log', queue_config.failing_test)
|
151
179
|
exit! 0
|
152
180
|
end
|
153
181
|
|
@@ -167,6 +195,7 @@ module Minitest
|
|
167
195
|
step("Final validation")
|
168
196
|
status = if run_tests_in_fork(failing_order)
|
169
197
|
step(yellow("The bisection was inconclusive, there might not be any leaky test here."))
|
198
|
+
File.write('log/test_order.log', "")
|
170
199
|
exit! 1
|
171
200
|
else
|
172
201
|
step(green('The following command should reproduce the leak on your machine:'), collapsed: false)
|
@@ -257,7 +286,7 @@ module Minitest
|
|
257
286
|
private
|
258
287
|
|
259
288
|
attr_reader :queue_config, :options, :command, :argv
|
260
|
-
attr_accessor :queue, :queue_url, :grind_list, :grind_count, :load_paths
|
289
|
+
attr_accessor :queue, :queue_url, :grind_list, :grind_count, :load_paths, :verbose
|
261
290
|
|
262
291
|
def require_worker_id!
|
263
292
|
if queue.distributed?
|
@@ -421,7 +450,7 @@ module Minitest
|
|
421
450
|
EOS
|
422
451
|
opts.separator ""
|
423
452
|
opts.on('-IPATHS', help) do |paths|
|
424
|
-
self.load_paths = paths
|
453
|
+
self.load_paths = [load_paths, paths].compact.join(':')
|
425
454
|
end
|
426
455
|
|
427
456
|
help = <<~EOS
|
@@ -547,6 +576,10 @@ module Minitest
|
|
547
576
|
queue.config.redis_ttl = time
|
548
577
|
end
|
549
578
|
|
579
|
+
opts.on("-v", "--verbose", "Verbose. Show progress processing files.") do
|
580
|
+
self.verbose = true
|
581
|
+
end
|
582
|
+
|
550
583
|
opts.separator ""
|
551
584
|
opts.separator " retry: Replays a previous run in the same order."
|
552
585
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ci-queue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean Boussier
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -239,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
239
|
- !ruby/object:Gem::Version
|
240
240
|
version: '0'
|
241
241
|
requirements: []
|
242
|
-
rubygems_version: 3.4.
|
242
|
+
rubygems_version: 3.4.16
|
243
243
|
signing_key:
|
244
244
|
specification_version: 4
|
245
245
|
summary: Distribute tests over many workers using a queue
|