codeclimate-services 1.11.3 → 1.11.4
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/.circleci/config.yml +31 -0
- data/.circleci/shared.bash +35 -0
- data/VERSION +1 -0
- data/codeclimate-services.gemspec +1 -1
- data/lib/cc/pull_requests.rb +17 -1
- data/lib/cc/service.rb +1 -0
- data/lib/cc/services/github_pull_requests.rb +20 -0
- data/lib/cc/services/version.rb +5 -1
- data/spec/cc/pull_requests_spec.rb +8 -0
- data/spec/cc/service/github_pull_requests_spec.rb +40 -2
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e49ecbb12d3d95c5fcf279a4d5a66042fff2349a034f864ca361c7b575e498b4
|
4
|
+
data.tar.gz: 1564c19d8878e7982e9a18fb66cc4ae954ec26a7cabaebf4e0e4f0f919316b49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e6a1864050ea867c58dfc8432f44a853f9563cba2bbf3a2bd9d33fee0bffcbf823115cd11811fc268bfec2049e3e002e594e916455a3a4a1839a2e52d4e34e7
|
7
|
+
data.tar.gz: c266bbdd933ed408284569eef1f628353dfc38f07b0d585bd85b3704396a924f0f1e01ab9018e4aee59d45afc8ec2a39cb6bd3e1ab45713eef5985f80f205153
|
data/.circleci/config.yml
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
version: 2.0
|
2
|
+
init: &init
|
3
|
+
run:
|
4
|
+
name: init
|
5
|
+
command: |
|
6
|
+
echo '. .circleci/shared.bash' >> "$BASH_ENV"
|
7
|
+
|
2
8
|
jobs:
|
3
9
|
test:
|
4
10
|
environment:
|
@@ -19,8 +25,33 @@ jobs:
|
|
19
25
|
- coverage
|
20
26
|
- run: ./cc-test-reporter after-build --exit-code $? || echo "Send coverage skipped..."
|
21
27
|
|
28
|
+
publish:
|
29
|
+
machine: true
|
30
|
+
steps:
|
31
|
+
- checkout
|
32
|
+
- *init
|
33
|
+
- run:
|
34
|
+
name: Install Hub dependency
|
35
|
+
command: install_hub
|
36
|
+
- run:
|
37
|
+
name: Login on RubyGems
|
38
|
+
command: login_to_rubygems
|
39
|
+
- run:
|
40
|
+
name: Publish new version
|
41
|
+
command: |
|
42
|
+
if [ `git diff --quiet HEAD~ VERSION; echo $?` -eq 1 ]; then
|
43
|
+
publish_new_version
|
44
|
+
fi
|
45
|
+
|
22
46
|
workflows:
|
23
47
|
version: 2
|
24
48
|
test:
|
25
49
|
jobs:
|
26
50
|
- test
|
51
|
+
- publish:
|
52
|
+
requires:
|
53
|
+
- test
|
54
|
+
filters:
|
55
|
+
branches:
|
56
|
+
only:
|
57
|
+
- master
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -exuo pipefail
|
4
|
+
|
5
|
+
VERSION=$(cat VERSION)
|
6
|
+
|
7
|
+
function install_hub() {
|
8
|
+
sudo apt update && sudo apt install -y git wget
|
9
|
+
url="$(wget -qO- https://api.github.com/repos/github/hub/releases/latest | tr '"' '\n' | grep '.*/download/.*/hub-linux-amd64-.*.tgz')"
|
10
|
+
wget -qO- "$url" | sudo tar -xzvf- -C /usr/bin --strip-components=2 --wildcards "*/bin/hub"
|
11
|
+
}
|
12
|
+
|
13
|
+
function login_to_rubygems() {
|
14
|
+
mkdir -p "$HOME/.gem"
|
15
|
+
touch "$HOME/.gem/credentials"
|
16
|
+
chmod 0600 "$HOME/.gem/credentials"
|
17
|
+
printf -- "---\n:rubygems_api_key: %s\n" "$GEM_HOST_API_KEY" > "$HOME/.gem/credentials"
|
18
|
+
}
|
19
|
+
|
20
|
+
function tag_version() {
|
21
|
+
GITHUB_TOKEN="${GITHUB_TOKEN}" hub release create -m "v${VERSION}" "v${VERSION}"
|
22
|
+
}
|
23
|
+
|
24
|
+
|
25
|
+
function publish_new_version() {
|
26
|
+
set +x
|
27
|
+
# Build and push gem
|
28
|
+
gem build ./*.gemspec
|
29
|
+
gem push ./*.gem
|
30
|
+
|
31
|
+
# Create gh tag
|
32
|
+
tag_version
|
33
|
+
|
34
|
+
set -x
|
35
|
+
}
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.11.4
|
@@ -5,7 +5,7 @@ require "cc/services/version"
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "codeclimate-services"
|
8
|
-
spec.version = CC::Services
|
8
|
+
spec.version = CC::Services.version
|
9
9
|
spec.authors = ["Bryan Helmkamp"]
|
10
10
|
spec.email = ["bryan@brynary.com"]
|
11
11
|
spec.summary = "Service classes for Code Climate"
|
data/lib/cc/pull_requests.rb
CHANGED
@@ -14,7 +14,11 @@ class CC::PullRequests < CC::Service
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def receive_pull_request_diff_coverage
|
17
|
-
receive_request(
|
17
|
+
receive_request(%w[pending skipped], :update_diff_coverage_status)
|
18
|
+
end
|
19
|
+
|
20
|
+
def receive_pull_request_total_coverage
|
21
|
+
receive_request(%w[pending skipped], :update_total_coverage_status)
|
18
22
|
end
|
19
23
|
|
20
24
|
private
|
@@ -47,6 +51,18 @@ class CC::PullRequests < CC::Service
|
|
47
51
|
raise NotImplementedError
|
48
52
|
end
|
49
53
|
|
54
|
+
def update_diff_coverage_status_pending
|
55
|
+
raise NotImplementedError
|
56
|
+
end
|
57
|
+
|
58
|
+
def update_total_coverage_status_skipped
|
59
|
+
raise NotImplementedError
|
60
|
+
end
|
61
|
+
|
62
|
+
def update_total_coverage_status_pending
|
63
|
+
raise NotImplementedError
|
64
|
+
end
|
65
|
+
|
50
66
|
def update_status_failure
|
51
67
|
raise NotImplementedError
|
52
68
|
end
|
data/lib/cc/service.rb
CHANGED
@@ -73,9 +73,29 @@ class CC::Service::GitHubPullRequests < CC::PullRequests
|
|
73
73
|
|
74
74
|
def update_diff_coverage_status_skipped
|
75
75
|
update_status("success", presenter.skipped_message, "#{config.context}/diff-coverage")
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
def update_total_coverage_status_skipped
|
76
80
|
update_status("success", presenter.skipped_message, "#{config.context}/total-coverage")
|
77
81
|
end
|
78
82
|
|
83
|
+
def update_diff_coverage_status_pending
|
84
|
+
update_status(
|
85
|
+
"pending",
|
86
|
+
@payload["message"] || presenter.pending_message,
|
87
|
+
"#{config.context}/diff-coverage"
|
88
|
+
)
|
89
|
+
end
|
90
|
+
|
91
|
+
def update_total_coverage_status_pending
|
92
|
+
update_status(
|
93
|
+
"pending",
|
94
|
+
@payload["message"] || presenter.pending_message,
|
95
|
+
"#{config.context}/total-coverage"
|
96
|
+
)
|
97
|
+
end
|
98
|
+
|
79
99
|
def update_status_failure
|
80
100
|
update_status("failure", presenter.success_message)
|
81
101
|
end
|
data/lib/cc/services/version.rb
CHANGED
@@ -120,4 +120,12 @@ describe CC::PullRequests do
|
|
120
120
|
|
121
121
|
it_behaves_like "receive method"
|
122
122
|
end
|
123
|
+
|
124
|
+
describe "#receive_pull_request_total_coverage" do
|
125
|
+
let(:payload_status) { "skipped" }
|
126
|
+
let(:expected_method_name) { :update_total_coverage_status_skipped }
|
127
|
+
let(:method_to_call) { :receive_pull_request_total_coverage }
|
128
|
+
|
129
|
+
it_behaves_like "receive method"
|
130
|
+
end
|
123
131
|
end
|
@@ -85,8 +85,6 @@ describe CC::Service::GitHubPullRequests, type: :service do
|
|
85
85
|
it "pull request diff coverage skipped" do
|
86
86
|
expect_status_update("pbrisbin/foo", "abc123", "state" => "success",
|
87
87
|
"description" => /skipped analysis/, "context" => /diff-coverage/)
|
88
|
-
expect_status_update("pbrisbin/foo", "abc123", "state" => "success",
|
89
|
-
"description" => /skipped analysis/, "context" => /total-coverage/)
|
90
88
|
|
91
89
|
receive_pull_request_diff_coverage({},
|
92
90
|
github_slug: "pbrisbin/foo",
|
@@ -94,6 +92,38 @@ describe CC::Service::GitHubPullRequests, type: :service do
|
|
94
92
|
state: "skipped")
|
95
93
|
end
|
96
94
|
|
95
|
+
it "pull request total coverage skipped" do
|
96
|
+
expect_status_update("pbrisbin/foo", "abc123", "state" => "success",
|
97
|
+
"description" => /skipped analysis/, "context" => /total-coverage/)
|
98
|
+
|
99
|
+
receive_pull_request_total_coverage({},
|
100
|
+
github_slug: "pbrisbin/foo",
|
101
|
+
commit_sha: "abc123",
|
102
|
+
state: "skipped")
|
103
|
+
end
|
104
|
+
|
105
|
+
it "pull request diff coverage pending" do
|
106
|
+
expect_status_update("pbrisbin/foo", "abc123", "state" => "pending",
|
107
|
+
"description" => /a test message/, "context" => /diff-coverage/)
|
108
|
+
|
109
|
+
receive_pull_request_diff_coverage({},
|
110
|
+
github_slug: "pbrisbin/foo",
|
111
|
+
commit_sha: "abc123",
|
112
|
+
state: "pending",
|
113
|
+
message: "a test message")
|
114
|
+
end
|
115
|
+
|
116
|
+
it "pull request total coverage skipped" do
|
117
|
+
expect_status_update("pbrisbin/foo", "abc123", "state" => "pending",
|
118
|
+
"description" => /a test message/, "context" => /total-coverage/)
|
119
|
+
|
120
|
+
receive_pull_request_total_coverage({},
|
121
|
+
github_slug: "pbrisbin/foo",
|
122
|
+
commit_sha: "abc123",
|
123
|
+
state: "pending",
|
124
|
+
message: "a test message")
|
125
|
+
end
|
126
|
+
|
97
127
|
it "pull request status test success" do
|
98
128
|
http_stubs.post("/repos/pbrisbin/foo/statuses/#{"0" * 40}") { |_env| [422, {}, ""] }
|
99
129
|
|
@@ -233,6 +263,14 @@ describe CC::Service::GitHubPullRequests, type: :service do
|
|
233
263
|
)
|
234
264
|
end
|
235
265
|
|
266
|
+
def receive_pull_request_total_coverage(config, event_data)
|
267
|
+
service_receive(
|
268
|
+
CC::Service::GitHubPullRequests,
|
269
|
+
{ oauth_token: "123" }.merge(config),
|
270
|
+
{ name: "pull_request_total_coverage" }.merge(event_data),
|
271
|
+
)
|
272
|
+
end
|
273
|
+
|
236
274
|
def receive_test(config, event_data = {})
|
237
275
|
service_receive(
|
238
276
|
CC::Service::GitHubPullRequests,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeclimate-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.11.
|
4
|
+
version: 1.11.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Helmkamp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -130,6 +130,7 @@ extensions: []
|
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
132
|
- ".circleci/config.yml"
|
133
|
+
- ".circleci/shared.bash"
|
133
134
|
- ".codeclimate.yml"
|
134
135
|
- ".gitignore"
|
135
136
|
- ".rspec"
|
@@ -139,6 +140,7 @@ files:
|
|
139
140
|
- LICENSE.txt
|
140
141
|
- README.md
|
141
142
|
- Rakefile
|
143
|
+
- VERSION
|
142
144
|
- base_rubocop.yml
|
143
145
|
- bin/bundler
|
144
146
|
- bin/coderay
|