codeclimate 0.14.6 → 0.14.7
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/bin/prep-release +5 -2
- data/lib/cc/analyzer/container.rb +24 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8680877759cb9d64b775677c48ef5ec45abdf3ac
|
4
|
+
data.tar.gz: 9857356e8ec12071e973337f505b98964321d585
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15e9c529f7fd7d656d93cc7580564ad5fb36016868292e773c260b6e53eb06a704998c867c5cc8cc378a7e5e3abaee86379aa0e729b93bbef78cb41bead356aa
|
7
|
+
data.tar.gz: 636f04b117fbd5b3951fa2409bb80fc75c99b70fbac75836c55ed79856236fec7ed976a59214b537287edca3ba56d311168060a1eef1861bddf11fc3dd826d9c
|
data/bin/prep-release
CHANGED
@@ -34,12 +34,15 @@ git commit -m "Release v$version"
|
|
34
34
|
git push origin $branch
|
35
35
|
|
36
36
|
compare_link="https://github.com/codeclimate/codeclimate/compare/${old_version}...$(git rev-parse --short $branch)"
|
37
|
+
pr_description_file=$(mktemp -t cc_commit_message) || exit 1
|
38
|
+
printf "Release v$version\n\n$s\n" "$compare_link" > "$pr_description_file"
|
37
39
|
if command -v hub > /dev/null 2>&1; then
|
38
|
-
hub pull-request -
|
40
|
+
hub pull-request -F "$pr_description_file"
|
39
41
|
elif command -v gh > /dev/null 2>&1; then
|
40
|
-
gh pull-request -
|
42
|
+
gh pull-request -F "$pr_description_file"
|
41
43
|
else
|
42
44
|
echo "hub not installed? Please open the PR manually" >&2
|
43
45
|
fi
|
46
|
+
rm "$commit_message_file"
|
44
47
|
|
45
48
|
echo "After merging the version-bump PR, run bin/release"
|
@@ -50,17 +50,24 @@ module CC
|
|
50
50
|
|
51
51
|
pid, _, out, err = POSIX::Spawn.popen4(*docker_run_command(options))
|
52
52
|
|
53
|
-
t_out = read_stdout(out)
|
54
|
-
t_err = read_stderr(err)
|
53
|
+
@t_out = read_stdout(out)
|
54
|
+
@t_err = read_stderr(err)
|
55
55
|
t_timeout = timeout_thread
|
56
56
|
|
57
|
+
# blocks until the engine stops. there may still be stdout in flight if
|
58
|
+
# it was being produced more quickly than consumed.
|
57
59
|
_, status = Process.waitpid2(pid)
|
58
60
|
|
61
|
+
# blocks until all readers are done. they're still governed by the
|
62
|
+
# timeout thread at this point. if we hit the timeout while processing
|
63
|
+
# output, the threads will be Thread#killed as part of #stop and this
|
64
|
+
# will unblock with the correct value in @timed_out
|
65
|
+
[@t_out, @t_err].each(&:join)
|
66
|
+
|
59
67
|
if @timed_out
|
60
68
|
duration = timeout * 1000
|
61
69
|
@listener.timed_out(container_data(duration: duration))
|
62
70
|
else
|
63
|
-
[t_out, t_err].each(&:join)
|
64
71
|
duration = ((Time.now - started) * 1000).round
|
65
72
|
@listener.finished(container_data(duration: duration, status: status))
|
66
73
|
end
|
@@ -74,14 +81,13 @@ module CC
|
|
74
81
|
@stderr_io.string,
|
75
82
|
)
|
76
83
|
ensure
|
77
|
-
|
84
|
+
kill_reader_threads
|
85
|
+
t_timeout.kill if t_timeout
|
78
86
|
end
|
79
87
|
|
80
|
-
def stop
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
reap_running_container
|
88
|
+
def stop(message = nil)
|
89
|
+
reap_running_container(message)
|
90
|
+
kill_reader_threads
|
85
91
|
end
|
86
92
|
|
87
93
|
private
|
@@ -139,7 +145,7 @@ module CC
|
|
139
145
|
end
|
140
146
|
|
141
147
|
@timed_out = true
|
142
|
-
|
148
|
+
stop("timed out")
|
143
149
|
end.run
|
144
150
|
end
|
145
151
|
|
@@ -150,7 +156,7 @@ module CC
|
|
150
156
|
|
151
157
|
if output_byte_count > maximum_output_bytes
|
152
158
|
@maximum_output_exceeded = true
|
153
|
-
stop
|
159
|
+
stop("maximum output exceeded")
|
154
160
|
end
|
155
161
|
end
|
156
162
|
|
@@ -158,8 +164,13 @@ module CC
|
|
158
164
|
ContainerData.new(@image, @name, duration, status, @stderr_io.string)
|
159
165
|
end
|
160
166
|
|
161
|
-
def
|
162
|
-
|
167
|
+
def kill_reader_threads
|
168
|
+
@t_out.kill if @t_out
|
169
|
+
@t_err.kill if @t_err
|
170
|
+
end
|
171
|
+
|
172
|
+
def reap_running_container(message)
|
173
|
+
Analyzer.logger.warn("killing container name=#{@name} message=#{message.inspect}")
|
163
174
|
POSIX::Spawn::Child.new("docker", "kill", @name)
|
164
175
|
end
|
165
176
|
|
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.14.
|
4
|
+
version: 0.14.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code Climate
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|