kettle-soup-cover 1.0.6 → 1.0.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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +20 -6
- data/LICENSE.txt +1 -1
- data/README.md +190 -45
- data/lib/kettle/soup/cover/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +8 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a07c0152dda8bd9cce9d4bdd7f76c89f1f50579909017ae7521cad3dfcc8cbad
|
4
|
+
data.tar.gz: 0f6590e962b33dbeac87c0a4895496073bbbd4ad7a8a155e2bd4f68ee32fa0d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a608f3345c2af94017e7825775f9f4b3f9a1bbc11ba477bf170be293998cd73240bf44bf14cb426e1e70051a7f56d6044ce5a9ef608b26b682c6f2ad627ae451
|
7
|
+
data.tar.gz: fc3eaab0ada73e9cbd6773e14a037ce0393e81bb76659d175ed4d1a7cb87e14bc423da4e4d910a001da06666bfc5156600c469ab8bcbc4a643f34dcaa505c8bf
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -11,9 +11,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
11
11
|
### Fixed
|
12
12
|
### Removed
|
13
13
|
|
14
|
+
## [1.0.7] - 2025-05-20
|
15
|
+
### Added
|
16
|
+
- Document usage with minitest
|
17
|
+
- Document usage with https://github.com/irongut/CodeCoverageSummary
|
18
|
+
- Document usage with https://github.com/marocchino/sticky-pull-request-comment
|
19
|
+
- More documentation improvements
|
20
|
+
- Link to Discord
|
21
|
+
### Changed
|
22
|
+
- Gem build: Don't check for cert if SKIP_GEM_SIGNING is set
|
23
|
+
- Allows linux packaging systems to build gem without signing via rubygems
|
24
|
+
- Update homepage in gemspec
|
25
|
+
- Improved loading of version.rb in gemspec
|
26
|
+
|
14
27
|
## [1.0.6] - 2025-05-04
|
15
|
-
- COVERAGE:
|
16
|
-
- BRANCH COVERAGE:
|
28
|
+
- COVERAGE: 93.43% -- 128/137 lines in 10 files
|
29
|
+
- BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
|
17
30
|
- 11.11% documented
|
18
31
|
### Added
|
19
32
|
- Support for linux, and other OSes, in `coverage` rake task
|
@@ -22,13 +35,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
22
35
|
- Set `export K_SOUP_COV_OPEN_BIN=open` to use macOS' `open` command in `coverage` task
|
23
36
|
- Set `export K_SOUP_COV_OPEN_BIN=xdg-open` to use Linux' `xdg-open` command in `coverage` task
|
24
37
|
- Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
|
25
|
-
- Test coverage increased from 55 =>
|
26
|
-
- Test coverage increased from 25 =>
|
38
|
+
- Test coverage increased from 55 => 93 for lines
|
39
|
+
- Test coverage increased from 25 => 50 for branches
|
27
40
|
### Changed
|
28
41
|
- Refactored internals in ways that should not affect public APIs
|
29
42
|
- allows much greater test coverage
|
30
43
|
- report a bug if anything breaks!
|
31
|
-
- Going forward all releases will be signed by my key that expires 2045-
|
44
|
+
- Going forward all releases will be signed by my key that expires 2045-04-29
|
32
45
|
### Fixed
|
33
46
|
- require hooks such that both work equally well:
|
34
47
|
- `require "kettle/soup/cover"`
|
@@ -105,7 +118,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
105
118
|
## [0.1.0] - 2023-10-17
|
106
119
|
- Initial release
|
107
120
|
|
108
|
-
[Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.
|
121
|
+
[Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.7...HEAD
|
122
|
+
[1.0.7]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.6...v1.0.7
|
109
123
|
[1.0.6]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.5...v1.0.6
|
110
124
|
[1.0.5]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.4...v1.0.5
|
111
125
|
[1.0.4]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.3...v1.0.4
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2023 - 2025 Peter Boling (railsbling.com)
|
3
|
+
Copyright (c) 2023 - 2025 Peter H. Boling (railsbling.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
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
</a>
|
5
5
|
</p>
|
6
6
|
|
7
|
-
# Kettle::Soup::Cover
|
7
|
+
# 🥘 Kettle::Soup::Cover
|
8
8
|
|
9
9
|
[![Version][👽versioni]][👽version]
|
10
10
|
[![License: MIT][📄license-img]][📄license-ref]
|
@@ -13,8 +13,8 @@
|
|
13
13
|
[![Depfu][🔑depfui♻️]][🔑depfu]
|
14
14
|
[![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
|
15
15
|
[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
|
16
|
-
[![
|
17
|
-
[![Maintainability][🔑
|
16
|
+
[![QLTY Test Coverage][🔑qlty-covi♻️]][🔑qlty-cov]
|
17
|
+
[![QLTY Maintainability][🔑qlty-mnti♻️]][🔑qlty-mnt]
|
18
18
|
[![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf]
|
19
19
|
[![CI Current][🚎11-c-wfi]][🚎11-c-wf]
|
20
20
|
[![CI Supported][🚎6-s-wfi]][🚎6-s-wf]
|
@@ -22,6 +22,7 @@
|
|
22
22
|
[![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf]
|
23
23
|
[![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf]
|
24
24
|
[![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
25
|
+
[![CodeQL][🖐codeQL-img]][🖐codeQL]
|
25
26
|
|
26
27
|
---
|
27
28
|
|
@@ -32,15 +33,33 @@
|
|
32
33
|
[![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
33
34
|
[![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
|
34
35
|
|
35
|
-
Four lines of code to get a configured, curated, opinionated, set of dependencies for Test Coverage.
|
36
|
+
Four lines of code to get a configured, curated, opinionated, set of dependencies for Test Coverage, and that's *including* the two lines for `require "simplecov"`, and `SimpleCov.start`.
|
36
37
|
|
37
|
-
Configured for what? To work out of the box on every CI
|
38
|
+
Configured for what? To work out of the box on every CI*. Batteries included.
|
39
|
+
For apps and libraries. Any test framework. Many code coverage related GitHub Actions (example configs [1](#marocchinosticky-pull-request-comment), [2](#irongutcodecoveragesummary)).
|
40
|
+
|
41
|
+
| Test Framework | Helper | Config |
|
42
|
+
|----------------|-----------------------------|-------------------------------|
|
43
|
+
| MiniTest | [test helper][mini-helper] | [.simplecov][mini-simplecov] |
|
44
|
+
| RSpec | [spec helper][rpsec-helper] | [.simplecov][rspec-simplecov] |
|
45
|
+
|
46
|
+
[mini-helper]: https://github.com/pboling/silent_stream/blob/master/tests/test_silent_stream.rb
|
47
|
+
[mini-simplecov]: https://github.com/pboling/silent_stream/blob/master/.simplecov
|
48
|
+
[rpsec-helper]: https://github.com/oauth-xx/oauth2/blob/main/spec/spec_helper.rb
|
49
|
+
[rspec-simplecov]: https://github.com/oauth-xx/oauth2/blob/main/.simplecov
|
50
|
+
|
51
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
52
|
+
|--------------------------------------------------------|-------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
|
53
|
+
| 🧪 [kettle-rb/kettle-soup-cover on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ |
|
54
|
+
| 🧊 [kettle-rb/kettle-soup-cover on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | ➖ | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
|
55
|
+
| 🐙 [kettle-rb/kettle-soup-cover on GitHub][📜src-gh] | A Dirty Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | ➖ |
|
56
|
+
| 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
|
38
57
|
|
39
58
|
One of the major benefits of using this library is not having to figure
|
40
59
|
out how to get multiple coverage output formats working. I did that for you,
|
41
60
|
and I got all of them working, at the same time together, or al la carte. Kum-ba-ya.
|
42
61
|
|
43
|
-
A quick shot of
|
62
|
+
A quick shot of 12-factor coverage power, straight to your brain:
|
44
63
|
|
45
64
|
```shell
|
46
65
|
export K_SOUP_COV_DO=true # Means you want code coverage
|
@@ -63,19 +82,60 @@ where this library is considered a package of [SOUP](https://en.wikipedia.org/wi
|
|
63
82
|
|
64
83
|
</details>
|
65
84
|
|
85
|
+
## Format / Library x CI Matrix
|
86
|
+
|
87
|
+
This tool leverages other tools to make hard things easier, but sometimes those other tools break...
|
88
|
+
I'll try to track that here.
|
89
|
+
|
90
|
+
| Format | Library | Status | Web | Circle<br/>CI | Git<br/>Lab | Travis<br/>CI | Jenkins<br/>X | Jenkins | Hudson | Semaphore | Bit<br/>Bucket | Team<br/>City | 🤓<br/>Nerds |
|
91
|
+
|--------|----------------------------|-----------------------------------------------|-----|---------------|-------------|---------------|---------------|---------|--------|-----------|----------------|---------------|--------------|
|
92
|
+
| `html` | `simplecov-html` | ✅ | ✅ | | | | | | | | | | ✅ |
|
93
|
+
| `xml` | `simplecov-cobertura` | ⚠️ [works (with warnings); upvote #30!][sc30] | | | ✅ | | | ✅ | | | | | ✅ |
|
94
|
+
| `rcov` | `simplecov-rcov` | ✅ | | | | | | | ✅ | | | | ✅ |
|
95
|
+
| `lcov` | `simplecov-lcov` | ✅ | | ✅ | | ✅ | ✅ | | | ✅ | | ✅ | ✅ |
|
96
|
+
| `json` | `simplecov_json_formatter` | ✅ | | ✅ | | ✅ | ✅ | | | | ✅ | | ✅ |
|
97
|
+
| `tty` | `simplecov-console` | ✅ | | | | | | | | | | | ✅ |
|
98
|
+
|
99
|
+
If you find this working/not working different than above please open an issue / PR!
|
100
|
+
|
101
|
+
## ☝️ Not actually *every CI*
|
102
|
+
|
103
|
+
This gem does not add coverage parsing to CI's that don't have it, since that's impossible.
|
104
|
+
Vendor-specific formats which are not shared by other vendors are also not supported (e.g. BuildKite).
|
105
|
+
|
106
|
+
You'll have to configure them manually if you use them:
|
107
|
+
|
108
|
+
* BuildKite's custom [simplecov extension][buildkite-ext]
|
109
|
+
* GitHub Actions doesn't parse test output, but...
|
110
|
+
* I configure my `coverage` workflow ([see example][example-cov-wf]) to upload coverage reports to SaaS services like:
|
111
|
+
* [codecov.io][🔑codecov] (needs token for upload)
|
112
|
+
* [QLTY.sh][🔑cc-cov] (needs token for upload)
|
113
|
+
* [coveralls.io][🔑coveralls]
|
114
|
+
* This gem helps me configure my `coverage` workflow to use Github Actions designed to report coverage like:
|
115
|
+
* Repo: [irongut/CodeCoverageSummary][GHA-ccs-repo]
|
116
|
+
* Repo: [marocchino/sticky-pull-request-comment][GHA-sprc-repo]
|
117
|
+
|
118
|
+
|
119
|
+
[buildkite-ext]: https://github.com/buildkite/simplecov-buildkite
|
120
|
+
[example-cov-wf]: https://github.com/kettle-rb/kettle-soup-cover/blob/main/.github/workflows/coverage.yml
|
121
|
+
[sc30]: https://github.com/dashingrocket/simplecov-cobertura/issues/30
|
122
|
+
|
123
|
+
This library is based on ideas I originally introduced in the gem _[rspec-stubbed_env](https://github.com/pboling/rspec-stubbed_env)_.
|
124
|
+
|
66
125
|
## 💡 Info you can shake a stick at
|
67
126
|
|
68
|
-
| Tokens to Remember
|
69
|
-
|
70
|
-
| Works with MRI Ruby 3
|
71
|
-
| Works with MRI Ruby 2
|
72
|
-
| Source
|
73
|
-
| Documentation
|
74
|
-
| Compliance
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
127
|
+
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
128
|
+
|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
129
|
+
| Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
|
130
|
+
| Works with MRI Ruby 2 | [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
|
131
|
+
| Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
|
132
|
+
| Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![HEAD on RubyDoc.info][📜docs-head-rd-img]][🚎yard-head] [![BDFL Blog][🚂bdfl-blog-img]][🚂bdfl-blog] [![Wiki][📜wiki-img]][📜wiki] |
|
133
|
+
| Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
|
134
|
+
| Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] |
|
135
|
+
| Support | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
136
|
+
| Enterprise Support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]<br/>💡Subscribe for support guarantees covering _all_ FLOSS dependencies!<br/>💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]!<br/>💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers! |
|
137
|
+
| Comrade BDFL 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact BDFL][🚂bdfl-contact-img]][🚂bdfl-contact] [![My technical writing][💖💁🏼♂️devto-img]][💖💁🏼♂️devto] |
|
138
|
+
| `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼♂️aboutme-img]][💖💁🏼♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
|
79
139
|
|
80
140
|
## ✨ Installation
|
81
141
|
|
@@ -89,9 +149,11 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
89
149
|
|
90
150
|
### 🔒 Secure Installation
|
91
151
|
|
92
|
-
`kettle-soup-cover` is cryptographically signed
|
152
|
+
`kettle-soup-cover` is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
|
153
|
+
[stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
|
154
|
+
by following the instructions below.
|
93
155
|
|
94
|
-
Add my public key (if you haven’t already, expires 2045-
|
156
|
+
Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
|
95
157
|
|
96
158
|
```shell
|
97
159
|
gem cert --add <(curl -Ls https://raw.github.com/kettle-rb/kettle-soup-cover/main/certs/pboling.pem)
|
@@ -103,9 +165,9 @@ You only need to do that once. Then proceed to install with:
|
|
103
165
|
gem install kettle-soup-cover -P MediumSecurity
|
104
166
|
```
|
105
167
|
|
106
|
-
The MediumSecurity trust profile will verify signed gems, but allow the installation of unsigned dependencies.
|
168
|
+
The `MediumSecurity` trust profile will verify signed gems, but allow the installation of unsigned dependencies.
|
107
169
|
|
108
|
-
This is necessary because not all of `kettle-soup-cover`’s dependencies are signed, so we cannot use HighSecurity
|
170
|
+
This is necessary because not all of `kettle-soup-cover`’s dependencies are signed, so we cannot use `HighSecurity`.
|
109
171
|
|
110
172
|
If you want to up your security game full-time:
|
111
173
|
|
@@ -117,21 +179,46 @@ NOTE: Be prepared to track down certs for signed gems and add them the same way
|
|
117
179
|
|
118
180
|
## 🔧 Basic Usage
|
119
181
|
|
120
|
-
|
182
|
+
### RSpec or MiniTest
|
183
|
+
|
184
|
+
In your `spec/spec_helper.rb` or `tests/test_helper.rb`, just before loading the library under test,
|
185
|
+
add two lines of code:
|
186
|
+
|
187
|
+
### With Ruby 2.7+
|
121
188
|
|
122
189
|
```ruby
|
123
|
-
# This does not require "simplecov",
|
124
|
-
# because that has a side effect of running `.simplecov`
|
125
190
|
require "kettle-soup-cover"
|
191
|
+
require "simplecov" if Kettle::Soup::Cover::DO_COV # `.simplecov` is run here!
|
192
|
+
# IMPORTANT: If you are using MiniTest instead of RSpec, also do this (and not in .simplecov):
|
193
|
+
# SimpleCov.external_at_exit = true
|
194
|
+
```
|
126
195
|
|
127
|
-
|
128
|
-
|
196
|
+
### Projects that run tests against older Ruby versions, e.g. with Appraisals
|
197
|
+
|
198
|
+
```ruby
|
199
|
+
# NOTE: Gemfiles for older rubies won't have kettle-soup-cover.
|
200
|
+
# The rescue LoadError handles that scenario.
|
201
|
+
begin
|
202
|
+
require "kettle-soup-cover"
|
203
|
+
|
204
|
+
if Kettle::Soup::Cover::DO_COV
|
205
|
+
require "simplecov" # `.simplecov` is run here!
|
206
|
+
|
207
|
+
# IMPORTANT: If you are using MiniTest instead of RSpec, also do this (and not in .simplecov):
|
208
|
+
# SimpleCov.external_at_exit = true
|
209
|
+
end
|
210
|
+
rescue LoadError => error
|
211
|
+
# check the error message, if you are so inclined, and re-raise if not what is expected
|
212
|
+
raise error unless error.message.include?("kettle")
|
213
|
+
end
|
129
214
|
```
|
130
215
|
|
216
|
+
### All projects
|
217
|
+
|
131
218
|
In your `.simplecov` file, add 2 lines of code:
|
132
219
|
|
133
220
|
```ruby
|
134
|
-
require "kettle/soup/cover/config"
|
221
|
+
require "kettle/soup/cover/config" # 12-factor, ENV-based configuration, with good defaults!
|
135
222
|
# you could do this somewhere else, up to you, but you do have to do it somewhere
|
136
223
|
SimpleCov.start
|
137
224
|
```
|
@@ -209,6 +296,53 @@ have their own complete suite of ENV variables you can configure.
|
|
209
296
|
[env-constants]: /lib/kettle/soup/cover.rb
|
210
297
|
[simplecov-console]: https://github.com/chetan/simplecov-console#options
|
211
298
|
|
299
|
+
#### Compatible with GitHub Actions for Code Coverage feedback in pull requests
|
300
|
+
|
301
|
+
If you don't want to configure a SaaS service to update your pull requests with
|
302
|
+
code coverage there are alternatives.
|
303
|
+
|
304
|
+
After the step that runs your test suite use one or more of the following.
|
305
|
+
|
306
|
+
##### irongut/CodeCoverageSummary
|
307
|
+
|
308
|
+
Repo: [irongut/CodeCoverageSummary][GHA-ccs-repo]
|
309
|
+
|
310
|
+
[GHA-ccs-repo]: https://github.com/irongut/CodeCoverageSummary
|
311
|
+
|
312
|
+
```yaml
|
313
|
+
|
314
|
+
- name: Code Coverage Summary Report
|
315
|
+
uses: irongut/CodeCoverageSummary@v1.3.0
|
316
|
+
if: ${{ github.event_name == 'pull_request' }}
|
317
|
+
with:
|
318
|
+
filename: ./coverage/coverage.xml
|
319
|
+
badge: true
|
320
|
+
fail_below_min: true
|
321
|
+
format: markdown
|
322
|
+
hide_branch_rate: false
|
323
|
+
hide_complexity: true
|
324
|
+
indicators: true
|
325
|
+
output: both
|
326
|
+
thresholds: '100 100' # '<MIN LINE COVERAGE> <MIN BRANCH COVERAGE>'
|
327
|
+
continue-on-error: ${{ matrix.experimental != 'false' }}
|
328
|
+
```
|
329
|
+
|
330
|
+
##### *marocchino/sticky-pull-request-comment*
|
331
|
+
|
332
|
+
Repo: [marocchino/sticky-pull-request-comment][GHA-sprc-repo]
|
333
|
+
|
334
|
+
[GHA-sprc-repo]: https://github.com/marocchino/sticky-pull-request-comment
|
335
|
+
|
336
|
+
```yaml
|
337
|
+
- name: Add Coverage PR Comment
|
338
|
+
uses: marocchino/sticky-pull-request-comment@v2
|
339
|
+
if: ${{ github.event_name == 'pull_request' }}
|
340
|
+
with:
|
341
|
+
recreate: true
|
342
|
+
path: code-coverage-results.md
|
343
|
+
continue-on-error: ${{ matrix.experimental != 'false' }}
|
344
|
+
```
|
345
|
+
|
212
346
|
### 🚀 Release Instructions
|
213
347
|
|
214
348
|
See [CONTRIBUTING.md][🤝contributing].
|
@@ -220,8 +354,7 @@ See [SECURITY.md][🔐security].
|
|
220
354
|
## 🤝 Contributing
|
221
355
|
|
222
356
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
223
|
-
or if it is already 💯 (see [below](#code-coverage)) check
|
224
|
-
or check [issues][🤝issues], or [PRs][🤝pulls],
|
357
|
+
or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
|
225
358
|
or use the gem and think about how it could be better.
|
226
359
|
|
227
360
|
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
@@ -322,7 +455,7 @@ or one of the others at the head of this README.
|
|
322
455
|
[![Buy me a latte][🖇buyme-img]][🖇buyme]
|
323
456
|
|
324
457
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
325
|
-
[⛳️gem-namespace]: https://github.com/kettle-rb/kettle-soup-cover
|
458
|
+
[⛳️gem-namespace]: https://github.com/kettle-rb/kettle-soup-cover
|
326
459
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle%3A%3ASoup%3A%3ACover-brightgreen.svg?style=flat&logo=ruby&logoColor=white
|
327
460
|
[⛳️gem-name]: https://rubygems.org/gems/kettle-soup-cover
|
328
461
|
[⛳️name-img]: https://img.shields.io/badge/name-kettle--soup--cover-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
|
@@ -338,8 +471,8 @@ or one of the others at the head of this README.
|
|
338
471
|
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
339
472
|
[💖🐘ruby-mast]: https://ruby.social/@galtzo
|
340
473
|
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=flat&logo=mastodon&label=Ruby%20%40galtzo
|
341
|
-
[💖🦋bluesky]: https://galtzo.
|
342
|
-
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.
|
474
|
+
[💖🦋bluesky]: https://bsky.app/profile/galtzo.com
|
475
|
+
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
|
343
476
|
[💖🌳linktree]: https://linktr.ee/galtzo
|
344
477
|
[💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
|
345
478
|
[💖💁🏼♂️devto]: https://dev.to/galtzo
|
@@ -375,10 +508,10 @@ or one of the others at the head of this README.
|
|
375
508
|
[👽oss-helpi]: https://www.codetriage.com/kettle-rb/kettle-soup-cover/badges/users.svg
|
376
509
|
[👽version]: https://rubygems.org/gems/kettle-soup-cover
|
377
510
|
[👽versioni]: https://img.shields.io/gem/v/kettle-soup-cover.svg
|
378
|
-
[🔑
|
379
|
-
[🔑
|
380
|
-
[🔑
|
381
|
-
[🔑
|
511
|
+
[🔑qlty-mnt]: https://qlty.sh/gh/kettle-rb/projects/kettle-soup-cover
|
512
|
+
[🔑qlty-mnti♻️]: https://qlty.sh/badges/75db1a51-b8ab-423a-b396-8b518067d8c3/maintainability.svg
|
513
|
+
[🔑qlty-cov]: https://qlty.sh/gh/kettle-rb/projects/kettle-soup-cover
|
514
|
+
[🔑qlty-covi♻️]: https://qlty.sh/badges/75db1a51-b8ab-423a-b396-8b518067d8c3/test_coverage.svg
|
382
515
|
[🔑codecov]: https://codecov.io/gh/kettle-rb/kettle-soup-cover
|
383
516
|
[🔑codecovi♻️]: https://codecov.io/gh/kettle-rb/kettle-soup-cover/branch/main/graph/badge.svg?token=0X5VEW9USD
|
384
517
|
[🔑coveralls]: https://coveralls.io/github/kettle-rb/kettle-soup-cover?branch=main
|
@@ -425,8 +558,13 @@ or one of the others at the head of this README.
|
|
425
558
|
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
426
559
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
427
560
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
428
|
-
[🤝issues]: https://github.com/kettle-rb/kettle-soup-cover/issues
|
429
|
-
[🤝pulls]: https://github.com/kettle-rb/kettle-soup-cover/pulls
|
561
|
+
[🤝gh-issues]: https://github.com/kettle-rb/kettle-soup-cover/issues
|
562
|
+
[🤝gh-pulls]: https://github.com/kettle-rb/kettle-soup-cover/pulls
|
563
|
+
[🤝gl-issues]: https://gitlab.com/oauth-xx/oauth2/-/issues
|
564
|
+
[🤝gl-pulls]: https://gitlab.com/oauth-xx/oauth2/-/merge_requests
|
565
|
+
[🤝cb-issues]: https://codeberg.org/oauth-xx/oauth2/issues
|
566
|
+
[🤝cb-pulls]: https://codeberg.org/oauth-xx/oauth2/pulls
|
567
|
+
[🤝cb-donate]: https://donate.codeberg.org/
|
430
568
|
[🤝contributing]: CONTRIBUTING.md
|
431
569
|
[🔑codecov-g♻️]: https://codecov.io/gh/kettle-rb/kettle-soup-cover/graphs/tree.svg?token=0X5VEW9USD
|
432
570
|
[🖐contrib-rocks]: https://contrib.rocks
|
@@ -434,26 +572,33 @@ or one of the others at the head of this README.
|
|
434
572
|
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-rb/kettle-soup-cover
|
435
573
|
[🚎contributors-gl]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/graphs/main
|
436
574
|
[🪇conduct]: CODE_OF_CONDUCT.md
|
437
|
-
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-
|
575
|
+
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
|
438
576
|
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
439
577
|
[📌semver]: https://semver.org/spec/v2.0.0.html
|
440
|
-
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-
|
578
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
|
441
579
|
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
442
580
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
443
581
|
[📌changelog]: CHANGELOG.md
|
444
582
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
445
|
-
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-
|
583
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
446
584
|
[📌gitmoji]:https://gitmoji.dev
|
447
|
-
[📌gitmoji-img]:https://img.shields.io/badge/
|
585
|
+
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20😜%20😍-34495e.svg?style=flat-square
|
448
586
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
449
587
|
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.137-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
450
588
|
[🔐security]: SECURITY.md
|
451
|
-
[🔐security-img]: https://img.shields.io/badge/security-policy-
|
589
|
+
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
452
590
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
453
591
|
[📄license]: LICENSE.txt
|
454
592
|
[📄license-ref]: https://opensource.org/licenses/MIT
|
455
|
-
[📄license-img]: https://img.shields.io/badge/License-MIT-
|
593
|
+
[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
|
456
594
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
457
|
-
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-
|
595
|
+
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
458
596
|
[🚎yard-current]: http://rubydoc.info/gems/kettle-soup-cover
|
459
597
|
[🚎yard-head]: https://rubydoc.info/github/kettle-rb/kettle-soup-cover/main
|
598
|
+
[💎stone_checksums]: https://github.com/pboling/stone_checksums
|
599
|
+
[💎SHA_checksums]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/tree/main/checksums
|
600
|
+
[💎rlts]: https://github.com/rubocop-lts/rubocop-lts
|
601
|
+
[💎rlts-img]: https://img.shields.io/badge/code_style_%26_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
|
602
|
+
[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
|
603
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
604
|
+
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kettle-soup-cover
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
|
36
36
|
L9nRqA==
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2025-05-
|
38
|
+
date: 2025-05-20 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: version_gem
|
@@ -437,12 +437,13 @@ licenses:
|
|
437
437
|
- MIT
|
438
438
|
metadata:
|
439
439
|
homepage_uri: https://kettle-rb.gitlab.io/
|
440
|
-
source_code_uri: https://
|
441
|
-
changelog_uri: https://
|
442
|
-
bug_tracker_uri: https://
|
443
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-soup-cover/1.0.
|
444
|
-
wiki_uri: https://
|
440
|
+
source_code_uri: https://gitlab.com/kettle-rb/kettle-soup-cover/-/tree/v1.0.7
|
441
|
+
changelog_uri: https://gitlab.com/kettle-rb/kettle-soup-cover/-/blob/v1.0.7/CHANGELOG.md
|
442
|
+
bug_tracker_uri: https://gitlab.com/kettle-rb/kettle-soup-cover/-/issues
|
443
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-soup-cover/1.0.7
|
444
|
+
wiki_uri: https://gitlab.com/kettle-rb/kettle-soup-cover/-/wiki
|
445
445
|
funding_uri: https://liberapay.com/pboling
|
446
|
+
news_uri: https://www.railsbling.com/tags/kettle-soup-cover
|
446
447
|
rubygems_mfa_required: 'true'
|
447
448
|
rdoc_options:
|
448
449
|
- "--title"
|
metadata.gz.sig
CHANGED
Binary file
|