codecov 0.2.6 → 0.2.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/lib/codecov.rb +9 -4
- data/test/test_codecov.rb +33 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cd3288a24f1d4655e837e068c45a5be7817d60c08de8acebb5ca0f3afcb0569
|
4
|
+
data.tar.gz: a42575d126b29448adda5177e95ac961070098aca3761c7074b4b6a1b9827154
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00210aa6e8cbf2837c5c199e3f7b2ce3d80a7c171f4bb84f94c0202da55fff0b33fe7ea6ad2ec39ed65086d41b6c375433954197d0fd9343e4de0bc7cf437c83
|
7
|
+
data.tar.gz: e492d90061f8db4c1df141d5d2e04d520cf4f8704a923f5556ed5a50d28bc6fcf2ec9cf72acea749671da975cef11420a60d1c8bf20498291bb5761f79e3e35f
|
data/lib/codecov.rb
CHANGED
@@ -8,7 +8,7 @@ require 'colorize'
|
|
8
8
|
require 'zlib'
|
9
9
|
|
10
10
|
class SimpleCov::Formatter::Codecov
|
11
|
-
VERSION = '0.2.
|
11
|
+
VERSION = '0.2.7'
|
12
12
|
|
13
13
|
### CIs
|
14
14
|
RECOGNIZED_CIS = [
|
@@ -337,6 +337,7 @@ class SimpleCov::Formatter::Codecov
|
|
337
337
|
|
338
338
|
def upload_to_codecov(ci, report)
|
339
339
|
url = ENV['CODECOV_URL'] || 'https://codecov.io'
|
340
|
+
is_enterprise = url != 'https://codecov.io'
|
340
341
|
|
341
342
|
params = build_params(ci)
|
342
343
|
params_secret_token = params.clone
|
@@ -354,8 +355,11 @@ class SimpleCov::Formatter::Codecov
|
|
354
355
|
puts " url: #{url}"
|
355
356
|
puts " query: #{query_without_token}"
|
356
357
|
|
357
|
-
response =
|
358
|
-
|
358
|
+
response = false
|
359
|
+
unless is_enterprise
|
360
|
+
response = upload_to_v4(url, gzipped_report, query, query_without_token)
|
361
|
+
return false if response == false
|
362
|
+
end
|
359
363
|
|
360
364
|
response || upload_to_v2(url, gzipped_report, query, query_without_token)
|
361
365
|
end
|
@@ -421,11 +425,12 @@ class SimpleCov::Formatter::Codecov
|
|
421
425
|
https.use_ssl = !url.match(/^https/).nil?
|
422
426
|
|
423
427
|
puts ['-> '.green, 'Uploading to Codecov'].join(' ')
|
424
|
-
puts "#{url}
|
428
|
+
puts "#{url}#{uri.path}?#{query_without_token}"
|
425
429
|
|
426
430
|
req = Net::HTTP::Post.new(
|
427
431
|
"#{uri.path}?#{query}",
|
428
432
|
{
|
433
|
+
'Accept' => 'application/json',
|
429
434
|
'Content-Encoding' => 'gzip',
|
430
435
|
'Content-Type' => 'text/plain',
|
431
436
|
'X-Content-Encoding' => 'gzip'
|
data/test/test_codecov.rb
CHANGED
@@ -6,7 +6,19 @@ class TestCodecov < Minitest::Test
|
|
6
6
|
CI = SimpleCov::Formatter::Codecov.new.detect_ci
|
7
7
|
|
8
8
|
REALENV =
|
9
|
-
if CI == SimpleCov::Formatter::Codecov::
|
9
|
+
if CI == SimpleCov::Formatter::Codecov::CIRCLE
|
10
|
+
{
|
11
|
+
'CIRCLECI' => ENV['CIRCLECI'],
|
12
|
+
'CIRCLE_BUILD_NUM' => ENV['CIRCLE_BUILD_NUM'],
|
13
|
+
'CIRCLE_NODE_INDEX' => ENV['CIRCLE_NODE_INDEX'],
|
14
|
+
'CIRCLE_PROJECT_REPONAME' => ENV['CIRCLE_PROJECT_REPONAME'],
|
15
|
+
'CIRCLE_PROJECT_USERNAME' => ENV['CIRCLE_PROJECT_USERNAME'],
|
16
|
+
'CIRCLE_REPOSITORY_URL' => ENV['CIRCLE_REPOSITORY_URL'],
|
17
|
+
'CIRCLE_PR_NUMBER' => ENV['CIRCLE_PR_NUMBER'],
|
18
|
+
'CIRCLE_BRANCH' => ENV['CIRCLE_BRANCH'],
|
19
|
+
'CIRCLE_SHA1' => ENV['CIRCLE_SHA1']
|
20
|
+
}
|
21
|
+
elsif CI == SimpleCov::Formatter::Codecov::GITHUB
|
10
22
|
{
|
11
23
|
'GITHUB_ACTIONS' => ENV['GITHUB_ACTIONS'],
|
12
24
|
'GITHUB_HEAD_REF' => ENV['GITHUB_HEAD_REF'],
|
@@ -51,6 +63,7 @@ class TestCodecov < Minitest::Test
|
|
51
63
|
end
|
52
64
|
|
53
65
|
def upload(success = true)
|
66
|
+
WebMock.enable!
|
54
67
|
formatter = SimpleCov::Formatter::Codecov.new
|
55
68
|
result = stub('SimpleCov::Result', files: [
|
56
69
|
stub_file('/path/lib/something.rb', [1, 0, 0, nil, 1, nil]),
|
@@ -67,7 +80,7 @@ class TestCodecov < Minitest::Test
|
|
67
80
|
end
|
68
81
|
|
69
82
|
def success_stubs
|
70
|
-
stub_request(:post, %r{https:\/\/codecov.io\/upload})
|
83
|
+
stub_request(:post, %r{https:\/\/codecov.io\/upload\/v4})
|
71
84
|
.to_return(
|
72
85
|
status: 200,
|
73
86
|
body: "https://codecov.io/gh/fake\n" \
|
@@ -92,6 +105,7 @@ class TestCodecov < Minitest::Test
|
|
92
105
|
|
93
106
|
def setup
|
94
107
|
ENV['CI'] = nil
|
108
|
+
ENV['CIRCLECI'] = nil
|
95
109
|
ENV['GITHUB_ACTIONS'] = nil
|
96
110
|
ENV['TRAVIS'] = nil
|
97
111
|
end
|
@@ -215,6 +229,23 @@ class TestCodecov < Minitest::Test
|
|
215
229
|
assert_equal(`git rev-parse HEAD`.strip, result['params'][:commit])
|
216
230
|
end
|
217
231
|
|
232
|
+
def test_enterprise
|
233
|
+
stub = stub_request(:post, %r{https:\/\/example.com\/upload\/v2})
|
234
|
+
.to_return(
|
235
|
+
status: 200,
|
236
|
+
body: "{\"id\": \"12345678-1234-abcd-ef12-1234567890ab\", \"message\": \"Coverage reports upload successfully\", \"meta\": { \"status\": 200 }, \"queued\": true, \"uploaded\": true, \"url\": \"https://example.com/github/codecov/codecov-bash/commit/2f6b51562b93e72c610671644fe2a303c5c0e8e5\"}"
|
237
|
+
)
|
238
|
+
|
239
|
+
ENV['CODECOV_URL'] = 'https://example.com'
|
240
|
+
ENV['CODECOV_TOKEN'] = 'f881216b-b5c0-4eb1-8f21-b51887d1d506'
|
241
|
+
result = upload
|
242
|
+
assert_equal('f881216b-b5c0-4eb1-8f21-b51887d1d506', result['params']['token'])
|
243
|
+
assert_equal('12345678-1234-abcd-ef12-1234567890ab', result['result']['id'])
|
244
|
+
branch = `git rev-parse --abbrev-ref HEAD`.strip
|
245
|
+
assert_equal(branch != 'HEAD' ? branch : 'master', result['params'][:branch])
|
246
|
+
assert_equal(`git rev-parse HEAD`.strip, result['params'][:commit])
|
247
|
+
end
|
248
|
+
|
218
249
|
def test_travis
|
219
250
|
ENV['CI'] = 'true'
|
220
251
|
ENV['TRAVIS'] = 'true'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codecov
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- codecov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest-ci
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: mocha
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|