kettle-soup-cover 1.0.10 → 1.1.1

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: 9d261f9bfba53179b6efb788d225d8856a9c84cf59d100006b725849fbcd2642
4
- data.tar.gz: a45573d36a905304612b14a4d7115904d9350c86210a4da9010e70bcfba00689
3
+ metadata.gz: 6f3cdb3eb563bc8ac3bfb357a26a454e614ad9afd039ba06d43e2f487df4805e
4
+ data.tar.gz: 79e53afd8fb511dbf5e5327dde4f2f5a1f758d4ef7ffa7bcc8333bac156b5138
5
5
  SHA512:
6
- metadata.gz: 49c8f710a0615ca7a445f2a270ec312a9b6eb7974094706a60d33e07bac4368903cc8803cad0195dd42ccb90b4bfc42d13f15eb2f80818d248be0493ffbcb03c
7
- data.tar.gz: 6f1c2f65f153210551d7cab85baec9ca6faa732030df0c51bb9485c94a246b5ee7b91636ef2e25f3c5b50194d870812e26d5471ed5c6a81f15fb81350293ec19
6
+ metadata.gz: 6db36ecda5f6c7d85e386d94693a275159fe2287fbbca2efa89174ecddc951bba311d4fc2a4c13e812b68f346bf06bb133d5343fb4b531bb7aff77536ed9b091
7
+ data.tar.gz: dc45507aea4a2215b2085a5ca7637713f816a5f75f69fcdf7f579065a8502edd2cfe38973774f5df1098954ff485edbfcf7640921e29b0cdb78c48ad2058809e
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,29 +1,109 @@
1
1
  # Changelog
2
2
 
3
- This file documents all notable changes to this project.
3
+ [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
4
4
 
5
- Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+ All notable changes to this project will be documented in this file.
6
+
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
+
10
23
  ### Changed
24
+
11
25
  ### Deprecated
26
+
12
27
  ### Removed
28
+
13
29
  ### Fixed
30
+
14
31
  ### Security
15
32
 
33
+ ## [1.1.1] - 2025-12-28
34
+
35
+ - TAG: [v1.1.1][1.1.1t]
36
+ - COVERAGE: 93.62% -- 132/141 lines in 10 files
37
+ - BRANCH COVERAGE: 50.00% -- 15/30 branches in 10 files
38
+ - 15.56% documented
39
+
40
+ ### Added
41
+
42
+ - Added regression tests for `MIN_COVERAGE_HARD` behavior
43
+
44
+ ### Fixed
45
+
46
+ - **BUGFIX**: `K_SOUP_COV_MIN_HARD=false` now correctly disables minimum coverage enforcement in CI
47
+ - Previously, the condition `IS_CI || MIN_COVERAGE_HARD` meant minimum coverage was always enforced in CI
48
+ - Now `MIN_COVERAGE_HARD` takes precedence: if explicitly set to `false`, minimum coverage is not enforced
49
+ - The default behavior is unchanged: in CI without explicit setting, minimum coverage is still enforced
50
+
51
+ ## [1.1.0] - 2025-12-28
52
+
53
+ - TAG: [v1.1.0][1.1.0t]
54
+ - COVERAGE: 93.62% -- 132/141 lines in 10 files
55
+ - BRANCH COVERAGE: 53.33% -- 16/30 branches in 10 files
56
+ - 15.56% documented
57
+
58
+ ### Added
59
+
60
+ - When `ENV["MAX_ROWS"] == "0"`, explicitly, skip simplecov-console TTY output.
61
+ - Script `exe/kettle-soup-cover` generates coverage report
62
+ - defaults to reading `$K_SOUP_COV_DIR/coverage.json`
63
+ - prints a summarized report
64
+ - accepts `-p/--path` or a positional path to coverage.json
65
+ - requires the `json` formatter be configured in `$K_SOUP_COV_FORMATTERS` (or an explicit JSON path as above).
66
+
67
+ ### Changed
68
+
69
+ - **Coverage merging is now enabled by default** - `USE_MERGING` defaults to `true`
70
+ - Essential for projects that split tests into multiple rake tasks
71
+ - Set `K_SOUP_COV_USE_MERGING=false` to disable
72
+ - Aggregate coverage from multiple test runs (e.g., FFI specs, integration specs, unit specs) when uniquely named:
73
+ - ```rake
74
+
75
+ # Matrix checks will run in between FFI and MRI
76
+
77
+ desc("Run Backend Matrix Specs")
78
+ RSpec::Core::RakeTask.new(:backend_matrix_specs) do |t|
79
+ t.pattern = "./spec_matrix/**/*_spec.rb"
80
+ end
81
+ desc("Set SimpleCov command name for backend matrix specs")
82
+ task(:set_matrix_command_name) do
83
+ ENV["K_SOUP_COV_COMMAND_NAME"] = "Backend Matrix Specs"
84
+ end
85
+ Rake::Task[:backend_matrix_specs].enhance([:set_matrix_command_name])
86
+ ```
87
+ - **Merge timeout** - `MERGE_TIMEOUT` defaults to 3600 seconds (1 hour)
88
+ - Sufficient for most test suites to complete all split tasks
89
+ - Set `K_SOUP_COV_MERGE_TIMEOUT` to override
90
+
16
91
  ## [1.0.10] - 2025-07-15
92
+
17
93
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
18
94
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
19
95
  - 11.11% documented
96
+
20
97
  ### Added
98
+
21
99
  - Add GitHub Pages site to badge info table
22
100
  - YARD config, GFM compatible with relative file links
23
101
  - Documentation site on GitHub Pages
24
102
  - [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
25
103
  - Auto-assign issues in the GitHub issue tracker
104
+
26
105
  ### Changed
106
+
27
107
  - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
28
108
  - Updated contact email in gemspec to `floss@galtzo.com`
29
109
  - Upgraded runtime dependency minimums:
@@ -34,46 +114,64 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
34
114
  - version_gem v1.1.8
35
115
 
36
116
  ## [1.0.9] - 2025-05-20
117
+
37
118
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
38
119
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
39
120
  - 11.11% documented
121
+
40
122
  ### Added
123
+
41
124
  - YARD config, GFM compatible with relative file links
42
125
  - Documentation site on GitHub Pages
43
126
  - [kettle-soup-cover.galtzo.com](https://kettle-soup-cover.galtzo.com)
127
+
44
128
  ### Changed
129
+
45
130
  - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site
46
131
 
47
132
  ## [1.0.8] - 2025-05-20
133
+
48
134
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
49
135
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
50
136
  - 11.11% documented
137
+
51
138
  ### Added
139
+
52
140
  - Link to discussions on GitHub
141
+
53
142
  ### Changed
143
+
54
144
  - Fixed `spec.homepage` and `spec.source_code_uri` in gemspec
55
145
 
56
146
  ## [1.0.7] - 2025-05-20
147
+
57
148
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
58
149
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
59
150
  - 11.11% documented
151
+
60
152
  ### Added
153
+
61
154
  - Document usage with minitest
62
155
  - Document usage with https://github.com/irongut/CodeCoverageSummary
63
156
  - Document usage with https://github.com/marocchino/sticky-pull-request-comment
64
157
  - More documentation improvements
65
158
  - Link to Discord
159
+
66
160
  ### Changed
161
+
67
162
  - Gem build: Don't check for cert if SKIP_GEM_SIGNING is set
68
163
  - Allows linux packaging systems to build gem without signing via rubygems
69
164
  - Update homepage in gemspec
70
165
  - Improved loading of version.rb in gemspec
71
166
 
72
167
  ## [1.0.6] - 2025-05-04
168
+
73
169
  - COVERAGE: 93.43% -- 128/137 lines in 10 files
74
170
  - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
75
171
  - 11.11% documented
172
+
76
173
  ### Added
174
+
77
175
  - Support for linux, and other OSes, in `coverage` rake task
78
176
  - previously was macOS only (would raise error on other OSes)
79
177
  - ✨ `Kettle::Soup::Cover::OPEN_BIN`
@@ -82,12 +180,16 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
82
180
  - Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
83
181
  - Test coverage increased from 55 => 93 for lines
84
182
  - Test coverage increased from 25 => 50 for branches
183
+
85
184
  ### Changed
185
+
86
186
  - Refactored internals in ways that should not affect public APIs
87
187
  - allows much greater test coverage
88
188
  - report a bug if anything breaks!
89
189
  - Going forward all releases will be signed by my key that expires 2045-04-29
190
+
90
191
  ### Fixed
192
+
91
193
  - require hooks such that both work equally well:
92
194
  - `require "kettle/soup/cover"`
93
195
  - `require "kettle-soup-cover"`
@@ -95,46 +197,66 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
95
197
  - In the ENV set `SKIP_GEM_SIGNING` to any value
96
198
 
97
199
  ## [1.0.5] - 2025-04-03
200
+
98
201
  ### Added
202
+
99
203
  - Documentation
100
204
  - Support for malformed `K_SOUP_COV_FORMATTERS` (extra spaces)
101
205
  - Code coverage tools QLTY, and CodeCov.io
102
206
  - Added Ruby 3.3, 3.4 to CI
207
+
103
208
  ### Changed
209
+
104
210
  - Update to Contributor Covenant 2.1
105
211
  - Allow unsigned gem builds (for linux distros)
106
212
  - Checksums are now created by `stone_checksums` gem
213
+
107
214
  ### Fixed
215
+
108
216
  - Incorrect documentation of ENV variables that control gem behavior
109
217
  - Prefer `Kernel.load` > `load` in gemspec
110
218
  - https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
111
219
 
112
220
  ## [1.0.4] - 2024-06-11
221
+
113
222
  ### Added
223
+
114
224
  - Documentation
225
+
115
226
  ### Changed
227
+
116
228
  - `version_gem` requirement to 1.0.4
117
229
 
118
230
  ## [1.0.3] - 2024-05-23
231
+
119
232
  ### Added
233
+
120
234
  - Documentation
121
235
  - Mirror repo on GitHub: https://github.com/kettle-rb/kettle-soup-cover
122
236
  - More tests
237
+
123
238
  ### Fixed
239
+
124
240
  - Incorrect URLs for homepage, etc
125
241
 
126
242
  ## [1.0.2] - 2023-10-19
243
+
127
244
  ### Fixed
245
+
128
246
  - Include new `coverage` rake task in the built gem
129
247
  - Goddamnit
130
248
  - Try to get checksum for SHA-256 to match what is published on Rubygems.org
131
249
 
132
250
  ## [1.0.1] - 2023-10-19
251
+
133
252
  ### Fixed
253
+
134
254
  - Include new `coverage` rake task in the built gem
135
255
 
136
256
  ## [1.0.0] - 2023-10-19
257
+
137
258
  ### Added
259
+
138
260
  - ✨ `Regexp.escape` the `FILTER_DIRS` to allow for paths to be excluded from coverage
139
261
  - paths must always start at the root of the project, but no leading or trailing slash
140
262
  - ✨ Rake task `coverage` will run spec suite, and open results in a browser.
@@ -153,17 +275,25 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
153
275
  - `Kettle::Soup::Cover::Filters::GtLineFilter`
154
276
  - `Kettle::Soup::Cover::Filters::LtLineFilter`
155
277
  - More and better documentation
278
+
156
279
  ### Changed
280
+
157
281
  - This gem no longer does `require "simplecov"`
158
282
  - Instead you can `require "simplecov" if Kettle::Soup::Cover::DO_COV` wherever you deem fit
283
+
159
284
  ### Fixed
285
+
160
286
  - All ENV vars now begin with a uniform prefix for this gem:
161
287
  - `K_SOUP_COV_*`
162
288
 
163
289
  ## [0.1.0] - 2023-10-17
164
290
  - Initial release
165
291
 
166
- [Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.10...HEAD
292
+ [Unreleased]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.1...HEAD
293
+ [1.1.1]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.1.0...v1.1.1
294
+ [1.1.1t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v1.1.1
295
+ [1.1.0]: https://github.com/kettle-rb/kettle-soup-cover/compare/v1.0.10...v1.1.0
296
+ [1.1.0t]: https://github.com/kettle-rb/kettle-soup-cover/releases/tag/v1.1.0
167
297
  [1.0.10]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.9...v1.0.10
168
298
  [1.0.9]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.8...v1.0.9
169
299
  [1.0.8]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.7...v1.0.8
@@ -175,4 +305,4 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
175
305
  [1.0.2]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.1...v1.0.2
176
306
  [1.0.1]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.0...v1.0.1
177
307
  [1.0.0]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v0.1.0...v1.0.0
178
- [0.1.0]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/97ddbbca309b87c7f6eed0137b08cad74ec81235...v0.1.0
308
+ [0.1.0]: https://github.com/kettle-rb/kettle-soup-cover/compare/97ddbbca309b87c7f6eed0137b08cad74ec81235...v0.1.0
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/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