codeclimate 0.85.28 → 0.87.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/config/engines.yml +3 -1
- data/lib/cc/analyzer/container.rb +12 -12
- data/lib/cc/cli/file_store.rb +1 -1
- data/lib/cc/cli/prepare.rb +1 -0
- metadata +8 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39b2a1bf8027ab5894a37493d345667a11c3a8c759d8c2612f9dfaa244654c9d
|
4
|
+
data.tar.gz: 61e7efec4f68964c400b5b2cb9f88f23116e54d533ebf754d2cfc833fc83638e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eeb564e3981ed3709b9972cc3b05b053582b6264c69f1a3c0cdd7d5cea1ae1bab6e822b70713d1287517760889f1f0ad7222ad172d9d15f1c34149f8ef2686b2
|
7
|
+
data.tar.gz: 9fd9e173468007706a41f5dbb4af4003ffad314047077cb33cce63dcb478842aff93ab61f7ab4324bde8837993609be1c460779b8b4ba9e95b0159106c5d3533
|
data/config/engines.yml
CHANGED
@@ -256,6 +256,8 @@ rubocop:
|
|
256
256
|
rubocop-1-22-2: codeclimate/codeclimate-rubocop:rubocop-1-22-2
|
257
257
|
rubocop-1-22-3: codeclimate/codeclimate-rubocop:rubocop-1-22-3
|
258
258
|
rubocop-1-23-0: codeclimate/codeclimate-rubocop:rubocop-1-23-0
|
259
|
+
rubocop-1-30-0: codeclimate/codeclimate-rubocop:rubocop-1-30-0
|
260
|
+
rubocop-1-31-0: codeclimate/codeclimate-rubocop:rubocop-1-31-0
|
259
261
|
description: A Ruby static code analyzer, based on the community Ruby style guide.
|
260
262
|
rubymotion:
|
261
263
|
channels:
|
@@ -286,7 +288,7 @@ shellcheck:
|
|
286
288
|
sonar-java:
|
287
289
|
channels:
|
288
290
|
stable: codeclimate/codeclimate-sonar-java
|
289
|
-
beta: codeclimate/codeclimate-sonar-java:
|
291
|
+
beta: codeclimate/codeclimate-sonar-java:beta
|
290
292
|
sonar-java-5-14: codeclimate/codeclimate-sonar-java:sonar-java-5-14
|
291
293
|
description: Over 400 checks for bugs, vulnerabilities, and code smells in Java code.
|
292
294
|
minimum_memory_limit: 2_048_000_000
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require "posix/spawn"
|
2
1
|
require "cc/analyzer/container/result"
|
2
|
+
require "open3"
|
3
3
|
|
4
4
|
module CC
|
5
5
|
module Analyzer
|
@@ -52,19 +52,14 @@ module CC
|
|
52
52
|
|
53
53
|
command = docker_run_command(options)
|
54
54
|
Analyzer.logger.debug("docker run: #{command.inspect}")
|
55
|
-
|
55
|
+
_, out, err, @t_wait = Open3.popen3(*command)
|
56
56
|
|
57
57
|
@t_out = read_stdout(out)
|
58
58
|
@t_err = read_stderr(err)
|
59
59
|
t_timeout = timeout_thread
|
60
60
|
|
61
|
-
#
|
62
|
-
|
63
|
-
# could still block here forever if the docker-kill/wait is not
|
64
|
-
# successful. there may still be stdout in flight if it was being
|
65
|
-
# produced more quickly than consumed.
|
66
|
-
@t_wait = Thread.new { _, @status = Process.waitpid2(pid) }
|
67
|
-
@t_wait.join
|
61
|
+
# Calling @t_wait.value waits the termination of the process / engine
|
62
|
+
@status = @t_wait.value
|
68
63
|
|
69
64
|
# blocks until all readers are done. they're still governed by the
|
70
65
|
# timeout thread at this point. if we hit the timeout while processing
|
@@ -97,6 +92,9 @@ module CC
|
|
97
92
|
def stop(message = nil)
|
98
93
|
reap_running_container(message)
|
99
94
|
kill_reader_threads
|
95
|
+
# Manually killing the process otherwise a run-away container
|
96
|
+
# could still block here forever if the docker-kill/wait is not
|
97
|
+
# successful
|
100
98
|
kill_wait_thread
|
101
99
|
end
|
102
100
|
|
@@ -178,9 +176,11 @@ module CC
|
|
178
176
|
|
179
177
|
def reap_running_container(message)
|
180
178
|
Analyzer.logger.warn("killing container name=#{@name} message=#{message.inspect}")
|
181
|
-
|
182
|
-
|
183
|
-
|
179
|
+
Timeout.timeout(2.minutes.to_i) do
|
180
|
+
Kernel.system("docker", "kill", @name, [:out, :err] => File::NULL)
|
181
|
+
Kernel.system("docker", "wait", @name, [:out, :err] => File::NULL)
|
182
|
+
end
|
183
|
+
rescue Timeout::Error
|
184
184
|
Analyzer.logger.error("unable to kill container name=#{@name} message=#{message.inspect}")
|
185
185
|
Analyzer.statsd.increment("container.zombie")
|
186
186
|
Analyzer.statsd.increment("container.zombie.#{metric_name}") if metric_name
|
data/lib/cc/cli/file_store.rb
CHANGED
@@ -31,7 +31,7 @@ module CC
|
|
31
31
|
@data =
|
32
32
|
if File.exist? self.class::FILE_NAME
|
33
33
|
File.open(self.class::FILE_NAME, "r:bom|utf-8") do |f|
|
34
|
-
YAML.safe_load(f, [Time], [], false, self.class::FILE_NAME)
|
34
|
+
YAML.safe_load(f, permitted_classes: [Time], permitted_symbols: [], aliases: false, filename: self.class::FILE_NAME) || {}
|
35
35
|
end
|
36
36
|
else
|
37
37
|
{}
|
data/lib/cc/cli/prepare.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeclimate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.87.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code Climate
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -44,40 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 1.7.2
|
47
|
+
version: 2.0.3
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
52
|
- - "~>"
|
56
53
|
- !ruby/object:Gem::Version
|
57
|
-
version:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 1.7.2
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: posix-spawn
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0.3'
|
68
|
-
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 0.3.11
|
71
|
-
type: :runtime
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0.3'
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 0.3.11
|
54
|
+
version: 2.0.3
|
81
55
|
- !ruby/object:Gem::Dependency
|
82
56
|
name: pry
|
83
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -256,9 +230,12 @@ require_paths:
|
|
256
230
|
- lib
|
257
231
|
required_ruby_version: !ruby/object:Gem::Requirement
|
258
232
|
requirements:
|
259
|
-
- - "
|
233
|
+
- - ">="
|
260
234
|
- !ruby/object:Gem::Version
|
261
235
|
version: '2.6'
|
236
|
+
- - "<="
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 3.1.2
|
262
239
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
263
240
|
requirements:
|
264
241
|
- - ">="
|