ci-queue 0.58.0 → 0.60.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.lock +4 -2
- data/ci-queue.gemspec +2 -0
- data/lib/ci/queue/redis/base.rb +5 -0
- data/lib/ci/queue/redis/worker.rb +0 -2
- data/lib/ci/queue/redis.rb +1 -0
- data/lib/ci/queue/version.rb +1 -1
- data/lib/minitest/queue/build_status_reporter.rb +1 -1
- data/lib/minitest/queue/runner.rb +2 -2
- data/lib/minitest/queue.rb +7 -0
- metadata +17 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4bec940c2c3eedb719c7292b249d244ab9e26a17c786e34eaf11d114c458478a
|
|
4
|
+
data.tar.gz: '039b0d061f68b9c4c77438681c2f4110042087d5a0ed4f0a4c31276aa79ede7a'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e22b92fe85dc0ed9d1f64e5e7a3e430d017b393ba24a60647cb02ff715351f338117cd304ee7c3e4dd9b9b48c65476565202770e2b25a6bdc68b4282549fc52d
|
|
7
|
+
data.tar.gz: 1446c540b88521268c6005412b5243d5da4ba986a2815a14aeb059a7c5506473dc61018da0588e807b2091b7def02f237505c3582c3761a2404a725594ef7a92
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
ci-queue (0.
|
|
4
|
+
ci-queue (0.60.0)
|
|
5
|
+
logger
|
|
5
6
|
|
|
6
7
|
GEM
|
|
7
8
|
remote: https://rubygems.org/
|
|
@@ -30,6 +31,7 @@ GEM
|
|
|
30
31
|
concurrent-ruby (~> 1.0)
|
|
31
32
|
json (2.7.1)
|
|
32
33
|
language_server-protocol (3.17.0.3)
|
|
34
|
+
logger (1.6.1)
|
|
33
35
|
minitest (5.22.3)
|
|
34
36
|
minitest-reporters (1.6.1)
|
|
35
37
|
ansi
|
|
@@ -50,7 +52,7 @@ GEM
|
|
|
50
52
|
redis-client (0.21.1)
|
|
51
53
|
connection_pool
|
|
52
54
|
regexp_parser (2.9.0)
|
|
53
|
-
rexml (3.
|
|
55
|
+
rexml (3.3.8)
|
|
54
56
|
rspec (3.13.0)
|
|
55
57
|
rspec-core (~> 3.13.0)
|
|
56
58
|
rspec-expectations (~> 3.13.0)
|
data/ci-queue.gemspec
CHANGED
|
@@ -31,6 +31,8 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
|
|
32
32
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
|
33
33
|
|
|
34
|
+
spec.add_runtime_dependency 'logger'
|
|
35
|
+
|
|
34
36
|
spec.add_development_dependency 'bundler'
|
|
35
37
|
spec.add_development_dependency 'rake'
|
|
36
38
|
spec.add_development_dependency 'minitest', ENV.fetch('MINITEST_VERSION', '~> 5.11')
|
data/lib/ci/queue/redis/base.rb
CHANGED
|
@@ -39,6 +39,11 @@ module CI
|
|
|
39
39
|
# it makes sense to retry for a while before giving up.
|
|
40
40
|
reconnect_attempts: reconnect_attempts,
|
|
41
41
|
middlewares: custom_middlewares,
|
|
42
|
+
# Hosted Redis servers use self signed certificates
|
|
43
|
+
# (because they do not own the domain they're running on such as compute-1.amazonaws.com)
|
|
44
|
+
# therefore a full SSL connection verification will fail.
|
|
45
|
+
# ci-queue should not contain any sensitive data, so we can just disable the verification.
|
|
46
|
+
ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE },
|
|
42
47
|
custom: custom_config,
|
|
43
48
|
)
|
|
44
49
|
else
|
data/lib/ci/queue/redis.rb
CHANGED
data/lib/ci/queue/version.rb
CHANGED
|
@@ -89,7 +89,7 @@ module Minitest
|
|
|
89
89
|
else
|
|
90
90
|
# If the job gets (automatically) retried and there are still workers running but not many tests left
|
|
91
91
|
# in the queue, we assume by the time the application is booted the queue is empty and it's faster to no-op.
|
|
92
|
-
if retry?
|
|
92
|
+
if retry? && queue.rescue_connection_errors { queue.queue_initialized? }
|
|
93
93
|
remaining = queue.rescue_connection_errors { queue.remaining }.to_i
|
|
94
94
|
running = queue.rescue_connection_errors { queue.running }.to_i
|
|
95
95
|
|
|
@@ -350,7 +350,7 @@ module Minitest
|
|
|
350
350
|
end
|
|
351
351
|
|
|
352
352
|
def populate_queue
|
|
353
|
-
Minitest.queue.populate(Minitest.loaded_tests, random: ordering_seed
|
|
353
|
+
Minitest.queue.populate(Minitest.loaded_tests, random: ordering_seed)
|
|
354
354
|
end
|
|
355
355
|
|
|
356
356
|
def set_load_path
|
data/lib/minitest/queue.rb
CHANGED
|
@@ -266,6 +266,13 @@ module Minitest
|
|
|
266
266
|
reopen_previous_step
|
|
267
267
|
puts red("The heartbeat process died. This worker is exiting early.")
|
|
268
268
|
exit!(41)
|
|
269
|
+
rescue CI::Queue::Redis::Error
|
|
270
|
+
reopen_previous_step
|
|
271
|
+
puts red("#{error.class}: #{error.message}")
|
|
272
|
+
error.backtrace.each do |frame|
|
|
273
|
+
puts red(frame)
|
|
274
|
+
end
|
|
275
|
+
exit!(41)
|
|
269
276
|
rescue => error
|
|
270
277
|
reopen_previous_step
|
|
271
278
|
queue.report_worker_error(error)
|
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ci-queue
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.60.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: 2024-10
|
|
11
|
+
date: 2024-12-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: logger
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: bundler
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -242,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
242
256
|
- !ruby/object:Gem::Version
|
|
243
257
|
version: '0'
|
|
244
258
|
requirements: []
|
|
245
|
-
rubygems_version: 3.5.
|
|
259
|
+
rubygems_version: 3.5.23
|
|
246
260
|
signing_key:
|
|
247
261
|
specification_version: 4
|
|
248
262
|
summary: Distribute tests over many workers using a queue
|