coveralls_reborn 0.22.0 → 0.23.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/.github/workflows/rubocop.yml +29 -0
- data/.github/workflows/ruby.yml +51 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +4 -4
- data/README.md +37 -2
- data/Rakefile +0 -1
- data/coveralls-ruby.gemspec +1 -0
- data/lib/coveralls/simplecov.rb +14 -0
- data/lib/coveralls/version.rb +1 -1
- data/spec/coveralls/fixtures/app/models/user.rb +6 -0
- data/spec/coveralls/simple_cov/formatter_spec.rb +36 -2
- data/spec/spec_helper.rb +19 -5
- metadata +18 -3
- data/.travis.yml +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d60acce3dea2248f73864689d5ad1fdfda5da46bb17b9666bf8bb94b911b070
|
4
|
+
data.tar.gz: 5c235845bb44951d9a53961aa6a9e4cd3dbed865d3d54d7bd3d7f5e1b7b535d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52c45871f2b938204024cc0479d2663a49818fd4a675cf56b315a767576658663c32beb136d9ac30a5bb853ff97bc434f8f9ca621a5d420d9e4719c2d5e139ab
|
7
|
+
data.tar.gz: ca395d514b29d860a8462847cfc20419e5ae0300b964d9d51491e55f046cd0b6cb5f5bc651036ffc2b48a7ad2bfb8c93bc69f3997fab5879c58c20810e81405c
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: Rubocop
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
rubocop:
|
11
|
+
name: Rubocop
|
12
|
+
runs-on: ${{ matrix.os }}
|
13
|
+
env:
|
14
|
+
BUNDLE_JOBS: 4
|
15
|
+
BUNDLE_RETRY: 3
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
os: [ubuntu-latest]
|
19
|
+
ruby-version: ['2.5']
|
20
|
+
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v2
|
23
|
+
- name: Set up Ruby
|
24
|
+
uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: ${{ matrix.ruby-version }}
|
27
|
+
bundler-cache: true
|
28
|
+
- name: Ruby linter
|
29
|
+
run: bundle exec rubocop
|
@@ -0,0 +1,51 @@
|
|
1
|
+
name: Ruby specs
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
name: Tests
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby-version: ['2.5', '2.6', '2.7', '3.0']
|
16
|
+
experimental: [false]
|
17
|
+
|
18
|
+
include:
|
19
|
+
- ruby-version: 'head'
|
20
|
+
experimental: true
|
21
|
+
- ruby-version: 'jruby-9.2'
|
22
|
+
experimental: true
|
23
|
+
|
24
|
+
continue-on-error: ${{ matrix.experimental }}
|
25
|
+
|
26
|
+
steps:
|
27
|
+
- uses: actions/checkout@v2
|
28
|
+
- name: Set up Ruby
|
29
|
+
uses: ruby/setup-ruby@v1
|
30
|
+
with:
|
31
|
+
ruby-version: ${{ matrix.ruby-version }}
|
32
|
+
bundler-cache: true
|
33
|
+
- name: Run specs
|
34
|
+
run: JRUBY_OPTS="--dev --debug" bundle exec rake spec
|
35
|
+
- name: Coveralls Parallel
|
36
|
+
uses: coverallsapp/github-action@master
|
37
|
+
with:
|
38
|
+
github-token: ${{ secrets.github_token }}
|
39
|
+
flag-name: run-${{ matrix.ruby-version }}
|
40
|
+
parallel: true
|
41
|
+
|
42
|
+
coverage:
|
43
|
+
name: Coverage
|
44
|
+
needs: test
|
45
|
+
runs-on: ubuntu-latest
|
46
|
+
steps:
|
47
|
+
- name: Coveralls Finished
|
48
|
+
uses: coverallsapp/github-action@master
|
49
|
+
with:
|
50
|
+
github-token: ${{ secrets.github_token }}
|
51
|
+
parallel-finished: true
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -14,10 +14,10 @@ gem 'pry', '~> 0.13.1'
|
|
14
14
|
gem 'pry-byebug', '~> 3.9', platforms: %i[mri mingw x64_mingw]
|
15
15
|
gem 'rake', '~> 13.0'
|
16
16
|
gem 'rspec', '~> 3.10'
|
17
|
-
gem 'rubocop', '~> 1.
|
17
|
+
gem 'rubocop', '~> 1.20'
|
18
18
|
gem 'rubocop-performance', '~> 1.11'
|
19
|
-
gem 'rubocop-rake', '~> 0.
|
20
|
-
gem 'rubocop-rspec', '~> 2.
|
19
|
+
gem 'rubocop-rake', '~> 0.6.0'
|
20
|
+
gem 'rubocop-rspec', '~> 2.4'
|
21
21
|
gem 'truthy', '~> 1.0'
|
22
22
|
gem 'vcr', '~> 6.0'
|
23
|
-
gem 'webmock', '~> 3.
|
23
|
+
gem 'webmock', '~> 3.14'
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# [Coveralls Reborn](https://coveralls.io) for Ruby [](https://coveralls.io/github/tagliala/coveralls-ruby-reborn?branch=main)
|
1
|
+
# [Coveralls Reborn](https://coveralls.io) for Ruby [](https://coveralls.io/github/tagliala/coveralls-ruby-reborn?branch=main)  [](https://badge.fury.io/rb/coveralls_reborn)
|
2
2
|
|
3
3
|
### [Read the docs →](https://docs.coveralls.io/ruby-on-rails)
|
4
4
|
|
@@ -7,5 +7,40 @@ An up-to-date fork of [lemurheavy/coveralls-ruby](https://github.com/lemurheavy/
|
|
7
7
|
Add to your `Gemfile`:
|
8
8
|
|
9
9
|
```rb
|
10
|
-
gem 'coveralls_reborn', '~> 0.
|
10
|
+
gem 'coveralls_reborn', '~> 0.23.0', require: false
|
11
11
|
```
|
12
|
+
|
13
|
+
### GitHub Actions
|
14
|
+
|
15
|
+
Psst... you don't need this gem on GitHub Actions.
|
16
|
+
|
17
|
+
For a Rails application, just add
|
18
|
+
|
19
|
+
```rb
|
20
|
+
gem 'simplecov-lcov', '~> 0.8.0'
|
21
|
+
```
|
22
|
+
|
23
|
+
to your `Gemfile` and
|
24
|
+
|
25
|
+
```rb
|
26
|
+
require 'simplecov'
|
27
|
+
|
28
|
+
SimpleCov.start 'rails' do
|
29
|
+
if ENV['CI']
|
30
|
+
require 'simplecov-lcov'
|
31
|
+
|
32
|
+
SimpleCov::Formatter::LcovFormatter.config do |c|
|
33
|
+
c.report_with_single_file = true
|
34
|
+
c.single_report_path = 'coverage/lcov.info'
|
35
|
+
end
|
36
|
+
|
37
|
+
formatter SimpleCov::Formatter::LcovFormatter
|
38
|
+
end
|
39
|
+
|
40
|
+
add_filter %w[version.rb initializer.rb]
|
41
|
+
end
|
42
|
+
```
|
43
|
+
|
44
|
+
at the top of `spec_helper.rb` / `rails_helper.rb` / `test_helper.rb`.
|
45
|
+
|
46
|
+
Then follow instructions at [Coveralls GitHub Action](https://github.com/marketplace/actions/coveralls-github-action)
|
data/Rakefile
CHANGED
data/coveralls-ruby.gemspec
CHANGED
data/lib/coveralls/simplecov.rb
CHANGED
@@ -45,6 +45,7 @@ module Coveralls
|
|
45
45
|
|
46
46
|
# Get the coverage
|
47
47
|
properties[:coverage] = file.coverage_data['lines']
|
48
|
+
properties[:branches] = branches(file.coverage_data['branches']) if file.coverage_data['branches']
|
48
49
|
|
49
50
|
# Skip nocov lines
|
50
51
|
file.lines.each_with_index do |line, i|
|
@@ -57,6 +58,19 @@ module Coveralls
|
|
57
58
|
source_files
|
58
59
|
end
|
59
60
|
|
61
|
+
def branches(simplecov_branches)
|
62
|
+
branches_properties = []
|
63
|
+
simplecov_branches.each do |branch_data, data|
|
64
|
+
branch_number = 0
|
65
|
+
line_number = branch_data.split(', ')[2].to_i
|
66
|
+
data.each_value do |hits|
|
67
|
+
branch_number += 1
|
68
|
+
branches_properties.concat([line_number, 0, branch_number, hits])
|
69
|
+
end
|
70
|
+
end
|
71
|
+
branches_properties
|
72
|
+
end
|
73
|
+
|
60
74
|
def format(result)
|
61
75
|
unless Coveralls.should_run?
|
62
76
|
display_result result if Coveralls.noisy?
|
data/lib/coveralls/version.rb
CHANGED
@@ -18,7 +18,15 @@ describe Coveralls::SimpleCov::Formatter do
|
|
18
18
|
source_fixture('app/models/dog.rb') => { lines: [1, 1, 1, 1, 1] },
|
19
19
|
source_fixture('app/models/house.rb') => { lines: [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil] },
|
20
20
|
source_fixture('app/models/robot.rb') => { lines: [1, 1, 1, 1, nil, nil, 1, 0, nil, nil] },
|
21
|
-
source_fixture('app/models/user.rb') => {
|
21
|
+
source_fixture('app/models/user.rb') => {
|
22
|
+
lines: [nil, 1, 1, 0, nil, nil, 1, 0, nil, nil, 1, 0, 0, nil, nil, nil],
|
23
|
+
'branches' => {
|
24
|
+
'[:if, 0, 12, 4, 14, 7]' => {
|
25
|
+
'[:then, 1, 13, 6, 13, 11]' => 1,
|
26
|
+
'[:else, 2, 12, 4, 14, 7]' => 0
|
27
|
+
}
|
28
|
+
}
|
29
|
+
},
|
22
30
|
source_fixture('sample.rb') => { lines: [nil, 1, 1, 1, nil, 0, 1, 1, nil, nil] }
|
23
31
|
}
|
24
32
|
|
@@ -74,12 +82,38 @@ describe Coveralls::SimpleCov::Formatter do
|
|
74
82
|
end
|
75
83
|
|
76
84
|
describe '#get_source_files' do
|
77
|
-
let(:source_files) {
|
85
|
+
let(:source_files) { instance.get_source_files(result) }
|
86
|
+
let(:instance) do
|
87
|
+
described_class.new.tap do |ins|
|
88
|
+
allow(ins).to receive(:branches)
|
89
|
+
end
|
90
|
+
end
|
78
91
|
|
79
92
|
it 'nils the skipped lines' do
|
80
93
|
source_file = source_files.first
|
81
94
|
expect(source_file[:coverage]).to eq [nil, 1, 1, 1, nil, 0, 1, 1, nil, nil, nil, nil, nil]
|
82
95
|
end
|
96
|
+
|
97
|
+
it 'calls #branches when branch coverage is present' do
|
98
|
+
source_files
|
99
|
+
expect(instance).to have_received(:branches).once
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe '#branches' do
|
104
|
+
let(:branch_coverage_parsed) { described_class.new.branches(simplecov_branches_results) }
|
105
|
+
let(:simplecov_branches_results) do
|
106
|
+
{
|
107
|
+
'[:if, 0, 12, 4, 14, 7]' => {
|
108
|
+
'[:then, 1, 13, 6, 13, 11]' => 1,
|
109
|
+
'[:else, 2, 12, 4, 14, 7]' => 0
|
110
|
+
}
|
111
|
+
}
|
112
|
+
end
|
113
|
+
|
114
|
+
it 'return coveralls required structure' do
|
115
|
+
expect(branch_coverage_parsed).to eq [12, 0, 1, 1, 12, 0, 2, 0]
|
116
|
+
end
|
83
117
|
end
|
84
118
|
|
85
119
|
describe '#short_filename' do
|
data/spec/spec_helper.rb
CHANGED
@@ -13,11 +13,25 @@ class InceptionFormatter
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def setup_formatter
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
if ENV['GITHUB_ACTIONS']
|
17
|
+
require 'simplecov-lcov'
|
18
|
+
|
19
|
+
SimpleCov::Formatter::LcovFormatter.config do |c|
|
20
|
+
c.report_with_single_file = true
|
21
|
+
c.single_report_path = 'coverage/lcov.info'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
SimpleCov.formatter =
|
26
|
+
if ENV['CI'] || ENV['COVERALLS_REPO_TOKEN']
|
27
|
+
if ENV['GITHUB_ACTIONS']
|
28
|
+
SimpleCov::Formatter::MultiFormatter.new([InceptionFormatter, SimpleCov::Formatter::LcovFormatter])
|
29
|
+
else
|
30
|
+
InceptionFormatter
|
31
|
+
end
|
32
|
+
else
|
33
|
+
SimpleCov::Formatter::HTMLFormatter
|
34
|
+
end
|
21
35
|
|
22
36
|
SimpleCov.start do
|
23
37
|
add_filter do |source_file|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coveralls_reborn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Merwin
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-09-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: simplecov
|
@@ -100,6 +100,20 @@ dependencies:
|
|
100
100
|
- - "<"
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '3'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: simplecov-lcov
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.8.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 0.8.0
|
103
117
|
description: A Ruby implementation of the Coveralls API.
|
104
118
|
email:
|
105
119
|
- nick@lemurheavy.com
|
@@ -111,10 +125,11 @@ extensions: []
|
|
111
125
|
extra_rdoc_files: []
|
112
126
|
files:
|
113
127
|
- ".github/dependabot.yml"
|
128
|
+
- ".github/workflows/rubocop.yml"
|
129
|
+
- ".github/workflows/ruby.yml"
|
114
130
|
- ".gitignore"
|
115
131
|
- ".rspec"
|
116
132
|
- ".rubocop.yml"
|
117
|
-
- ".travis.yml"
|
118
133
|
- CHANGELOG.md
|
119
134
|
- Gemfile
|
120
135
|
- LICENSE
|
data/.travis.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
os: linux
|
2
|
-
dist: focal
|
3
|
-
language: ruby
|
4
|
-
|
5
|
-
cache: bundler
|
6
|
-
|
7
|
-
env:
|
8
|
-
global:
|
9
|
-
# --dev improves JRuby startup time
|
10
|
-
# --debug reports proper coverage to SimpleCov
|
11
|
-
# See https://github.com/jruby/jruby/wiki/Improving-startup-time
|
12
|
-
- JRUBY_OPTS="--dev --debug"
|
13
|
-
|
14
|
-
rvm:
|
15
|
-
- 2.5.9
|
16
|
-
- 2.6.7
|
17
|
-
- 2.7.3
|
18
|
-
- 3.0.1
|
19
|
-
- ruby-head
|
20
|
-
- jruby-9.2.17.0
|
21
|
-
|
22
|
-
jobs:
|
23
|
-
allow_failures:
|
24
|
-
- rvm: ruby-head
|
25
|
-
- rvm: jruby-9.2.17.0
|
26
|
-
include:
|
27
|
-
- rvm: 2.5.9
|
28
|
-
gemfile: Gemfile
|
29
|
-
script: bundle exec rake rubocop
|
30
|
-
name: RuboCop
|
31
|
-
fast_finish: true
|
32
|
-
|
33
|
-
script: bundle exec rake spec
|