kettle-soup-cover 1.0.9 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc222614419aa8c54d068e8e03d9db52970855b23513ede5da00dbb21375430e
4
- data.tar.gz: bf156744a56f15b303d9f20c7f90e3731a92ace1b2e6120e9727990cdaa56e3f
3
+ metadata.gz: 1458b8373718791d8c3b2651a424c4b9a69666f5b6296e4146ca544c87455ebf
4
+ data.tar.gz: dab53e107af0400b12ad09804ab923d75ec12b5dc708d927b56ac5fdd6bd5c47
5
5
  SHA512:
6
- metadata.gz: 2562506b527763ebd861a48270d98e763f8271003c1ad3154bbd2f534180cbdd1b6654523355d6046b12e12735471d5d0b9f3fbe56851756fbc55ec64a82f16d
7
- data.tar.gz: 39f2aeb51829e290f524174457a089c3a20344c692c297871f92d9fe88041b3e90ab72fe7348ab878c892805cfb382984784f16eac631643454289f66594b0c7
6
+ metadata.gz: 1366dcf03c85cc1c801eeb3bd91ab49e67b7275c807a8cee4a7be6b3fcb23e3a5e6320b20426e7a9913d73ad0df3dbf2f5e45ae6acdaf9bbd2ceba19724fdedc
7
+ data.tar.gz: 8c684b8e832428784b8246bc5bedf0b3d031667e218c2ebc97a44f0f48bae0fc800fb6b9ae30c18cfd2fedfd2476342cb05a4029be08e309ade70a53307e93fa
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,57 +1,146 @@
1
1
  # Changelog
2
2
 
3
+ [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
4
+
3
5
  All notable changes to this project will be documented in this file.
4
6
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+ The format is based on [Keep a Changelog][📗keep-changelog],
8
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
9
+ and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
10
+ Please file a bug if you notice a violation of semantic versioning.
11
+
12
+ [📌semver]: https://semver.org/spec/v2.0.0.html
13
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
14
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
15
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
16
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
17
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
7
18
 
8
19
  ## [Unreleased]
20
+
9
21
  ### Added
22
+
23
+ - When `ENV["MAX_ROWS"] == "0"`, explicitly, skip simplecov-console TTY output.
24
+ - Script `exe/kettle-soup-cover` generates coverage report
25
+ - defaults to reading `$K_SOUP_COV_DIR/coverage.json`
26
+ - prints a summarized report
27
+ - accepts `-p/--path` or a positional path to coverage.json
28
+ - requires the `json` formatter be configured in `$K_SOUP_COV_FORMATTERS` (or an explicit JSON path as above).
29
+
10
30
  ### Changed
11
- ### Fixed
31
+
32
+ - **Coverage merging is now enabled by default** - `USE_MERGING` defaults to `true`
33
+ - Essential for projects that split tests into multiple rake tasks
34
+ - Set `K_SOUP_COV_USE_MERGING=false` to disable
35
+ - Aggregate coverage from multiple test runs (e.g., FFI specs, integration specs, unit specs) when uniquely named:
36
+ - ```rake
37
+ # Matrix checks will run in between FFI and MRI
38
+ desc("Run Backend Matrix Specs")
39
+ RSpec::Core::RakeTask.new(:backend_matrix_specs) do |t|
40
+ t.pattern = "./spec_matrix/**/*_spec.rb"
41
+ end
42
+ desc("Set SimpleCov command name for backend matrix specs")
43
+ task(:set_matrix_command_name) do
44
+ ENV["K_SOUP_COV_COMMAND_NAME"] = "Backend Matrix Specs"
45
+ end
46
+ Rake::Task[:backend_matrix_specs].enhance([:set_matrix_command_name])
47
+ ```
48
+ - **Merge timeout** - `MERGE_TIMEOUT` defaults to 3600 seconds (1 hour)
49
+ - Sufficient for most test suites to complete all split tasks
50
+ - Set `K_SOUP_COV_MERGE_TIMEOUT` to override
51
+
52
+ ### Deprecated
53
+
12
54
  ### Removed
13
55
 
56
+ ### Fixed
57
+
58
+ ### Security
59
+
60
+ ## [1.0.10] - 2025-07-15
61
+
62
+ - COVERAGE: 93.43% -- 128/137 lines in 10 files
63
+ - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
64
+ - 11.11% documented
65
+
66
+ ### Added
67
+
68
+ - Add GitHub Pages site to badge info table
69
+ - YARD config, GFM compatible with relative file links
70
+ - Documentation site on GitHub Pages
71
+ - [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
72
+ - Auto-assign issues in the GitHub issue tracker
73
+
74
+ ### Changed
75
+
76
+ - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
77
+ - Updated contact email in gemspec to `floss@galtzo.com`
78
+ - Upgraded runtime dependency minimums:
79
+ - simplecov-cobertura v3.0.0
80
+ - simplecov-html v0.13.1
81
+ - simplecov-rcov v0.3.7
82
+ - simplecov-console v0.9.3
83
+ - version_gem v1.1.8
84
+
14
85
  ## [1.0.9] - 2025-05-20
86
+
15
87
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
16
88
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
17
89
  - 11.11% documented
90
+
18
91
  ### Added
92
+
19
93
  - YARD config, GFM compatible with relative file links
20
94
  - Documentation site on GitHub Pages
21
95
  - [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
96
+
22
97
  ### Changed
98
+
23
99
  - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
24
100
 
25
101
  ## [1.0.8] - 2025-05-20
102
+
26
103
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
27
104
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
28
105
  - 11.11% documented
106
+
29
107
  ### Added
108
+
30
109
  - Link to discussions on GitHub
110
+
31
111
  ### Changed
112
+
32
113
  - Fixed `spec.homepage` and `spec.source_code_uri` in gemspec
33
114
 
34
115
  ## [1.0.7] - 2025-05-20
116
+
35
117
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
36
118
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
37
119
  - 11.11% documented
120
+
38
121
  ### Added
122
+
39
123
  - Document usage with minitest
40
124
  - Document usage with https://github.com/irongut/CodeCoverageSummary
41
125
  - Document usage with https://github.com/marocchino/sticky-pull-request-comment
42
126
  - More documentation improvements
43
127
  - Link to Discord
128
+
44
129
  ### Changed
130
+
45
131
  - Gem build: Don't check for cert if SKIP_GEM_SIGNING is set
46
132
  - Allows linux packaging systems to build gem without signing via rubygems
47
133
  - Update homepage in gemspec
48
134
  - Improved loading of version.rb in gemspec
49
135
 
50
136
  ## [1.0.6] - 2025-05-04
137
+
51
138
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
52
139
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
53
140
  - 11.11% documented
141
+
54
142
  ### Added
143
+
55
144
  - Support for linux, and other OSes, in `coverage` rake task
56
145
  - previously was macOS only (would raise error on other OSes)
57
146
  - ✨ `Kettle::Soup::Cover::OPEN_BIN`
@@ -60,12 +149,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
60
149
  - Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
61
150
  - Test coverage increased from 55 => 93 for lines
62
151
  - Test coverage increased from 25 => 50 for branches
152
+
63
153
  ### Changed
154
+
64
155
  - Refactored internals in ways that should not affect public APIs
65
156
  - allows much greater test coverage
66
157
  - report a bug if anything breaks!
67
158
  - Going forward all releases will be signed by my key that expires 2045-04-29
159
+
68
160
  ### Fixed
161
+
69
162
  - require hooks such that both work equally well:
70
163
  - `require "kettle/soup/cover"`
71
164
  - `require "kettle-soup-cover"`
@@ -73,46 +166,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
73
166
  - In the ENV set `SKIP_GEM_SIGNING` to any value
74
167
 
75
168
  ## [1.0.5] - 2025-04-03
169
+
76
170
  ### Added
171
+
77
172
  - Documentation
78
173
  - Support for malformed `K_SOUP_COV_FORMATTERS` (extra spaces)
79
174
  - Code coverage tools QLTY, and CodeCov.io
80
175
  - Added Ruby 3.3, 3.4 to CI
176
+
81
177
  ### Changed
178
+
82
179
  - Update to Contributor Covenant 2.1
83
180
  - Allow unsigned gem builds (for linux distros)
84
181
  - Checksums are now created by `stone_checksums` gem
182
+
85
183
  ### Fixed
184
+
86
185
  - Incorrect documentation of ENV variables that control gem behavior
87
186
  - Prefer `Kernel.load` > `load` in gemspec
88
187
  - https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
89
188
 
90
189
  ## [1.0.4] - 2024-06-11
190
+
91
191
  ### Added
192
+
92
193
  - Documentation
194
+
93
195
  ### Changed
196
+
94
197
  - `version_gem` requirement to 1.0.4
95
198
 
96
199
  ## [1.0.3] - 2024-05-23
200
+
97
201
  ### Added
202
+
98
203
  - Documentation
99
204
  - Mirror repo on GitHub: https://github.com/kettle-rb/kettle-soup-cover
100
205
  - More tests
206
+
101
207
  ### Fixed
208
+
102
209
  - Incorrect URLs for homepage, etc
103
210
 
104
211
  ## [1.0.2] - 2023-10-19
212
+
105
213
  ### Fixed
214
+
106
215
  - Include new `coverage` rake task in the built gem
107
216
  - Goddamnit
108
217
  - Try to get checksum for SHA-256 to match what is published on Rubygems.org
109
218
 
110
219
  ## [1.0.1] - 2023-10-19
220
+
111
221
  ### Fixed
222
+
112
223
  - Include new `coverage` rake task in the built gem
113
224
 
114
225
  ## [1.0.0] - 2023-10-19
226
+
115
227
  ### Added
228
+
116
229
  - ✨ `Regexp.escape` the `FILTER_DIRS` to allow for paths to be excluded from coverage
117
230
  - paths must always start at the root of the project, but no leading or trailing slash
118
231
  - ✨ Rake task `coverage` will run spec suite, and open results in a browser.
@@ -131,17 +244,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
131
244
  - `Kettle::Soup::Cover::Filters::GtLineFilter`
132
245
  - `Kettle::Soup::Cover::Filters::LtLineFilter`
133
246
  - More and better documentation
247
+
134
248
  ### Changed
249
+
135
250
  - This gem no longer does `require "simplecov"`
136
251
  - Instead you can `require "simplecov" if Kettle::Soup::Cover::DO_COV` wherever you deem fit
252
+
137
253
  ### Fixed
254
+
138
255
  - All ENV vars now begin with a uniform prefix for this gem:
139
256
  - `K_SOUP_COV_*`
140
257
 
141
258
  ## [0.1.0] - 2023-10-17
142
259
  - Initial release
143
260
 
144
- [Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.8...HEAD
261
+ [Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.10...HEAD
262
+ [1.0.10]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.9...v1.0.10
263
+ [1.0.9]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.8...v1.0.9
145
264
  [1.0.8]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.7...v1.0.8
146
265
  [1.0.7]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.6...v1.0.7
147
266
  [1.0.6]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.5...v1.0.6
data/CITATION.cff ADDED
@@ -0,0 +1,20 @@
1
+ cff-version: 1.2.0
2
+ title: Kettle::Soup::Cover
3
+ message: >-
4
+ If you use this work and you want to cite it,
5
+ then you can use the metadata from this file.
6
+ type: software
7
+ authors:
8
+ - given-names: Peter Hurn
9
+ family-names: Boling
10
+ email: peter@railsbling.com
11
+ affiliation: railsbling.com
12
+ orcid: 'https://orcid.org/0009-0008-8519-441X'
13
+ identifiers:
14
+ - type: url
15
+ value: 'https://github.com/kettle-rb/kettle-soup-cover/'
16
+ description: Kettle::Soup::Cover
17
+ repository-code: 'https://github.com/kettle-rb/kettle-soup-cover/'
18
+ abstract: >-
19
+ Kettle::Soup::Cover
20
+ license: See license file
data/CONTRIBUTING.md CHANGED
@@ -13,13 +13,15 @@ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you m
13
13
 
14
14
  Simply follow these instructions:
15
15
 
16
- 1. Fork the repository
17
- 2. Create your feature branch (`git checkout -b my-new-feature`)
18
- 3. Make some fixes.
19
- 4. Commit your changes (`git commit -am 'Added some feature'`)
20
- 5. Push to the branch (`git push origin my-new-feature`)
21
- 6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
22
- 7. Create new Pull Request.
16
+ 1. Join the Discord: [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
17
+ 2. Fork the repository
18
+ 3. Create your feature branch (`git checkout -b my-new-feature`)
19
+ 4. Make some fixes.
20
+ 5. Commit your changes (`git commit -am 'Added some feature'`)
21
+ 6. Push to the branch (`git push origin my-new-feature`)
22
+ 7. Make sure to add tests for it. This is important, so it doesn't break in a future release.
23
+ 8. Create new Pull Request.
24
+ 9. Announce it in the channel for this org in the [Discord][✉️discord-invite]!
23
25
 
24
26
  ## The Reek List
25
27
 
@@ -27,7 +29,7 @@ Take a look at the `reek` list which is the file called `REEK` and find somethin
27
29
 
28
30
  To refresh the `reek` list:
29
31
 
30
- ```bash
32
+ ```console
31
33
  bundle exec reek > REEK
32
34
  ```
33
35
 
@@ -35,7 +37,7 @@ bundle exec reek > REEK
35
37
 
36
38
  To run all tests
37
39
 
38
- ```bash
40
+ ```console
39
41
  bundle exec rake test
40
42
  ```
41
43
 
@@ -43,13 +45,13 @@ bundle exec rake test
43
45
 
44
46
  Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
45
47
 
46
- ```bash
48
+ ```console
47
49
  bundle exec rake
48
50
  ```
49
51
 
50
52
  Or just run the linter.
51
53
 
52
- ```bash
54
+ ```console
53
55
  bundle exec rake rubocop_gradual:autocorrect
54
56
  ```
55
57
 
@@ -113,3 +115,5 @@ NOTE: To build without signing the gem you must set `SKIP_GEM_SIGNING` to some v
113
115
  [💎stone_checksums]: https://github.com/pboling/stone_checksums
114
116
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
115
117
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
118
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
119
+ [✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2023 - 2025 Peter H. Boling (railsbling.com)
3
+ Copyright (c) 2023-2025 Peter H. Boling (Galtzo.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal