kettle-dev 2.2.5 → 2.2.6
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 +18 -1
- data/README.md +1 -1
- data/exe/kettle-changelog +12 -3
- data/lib/kettle/dev/changelog_cli.rb +35 -0
- data/lib/kettle/dev/version.rb +1 -1
- data/sig/kettle/dev/changelog_cli.rbs +2 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- 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: b8c22a00d9dde1e8574e1b8018fcf356b683c5a0c558b304bfac6d4b307d2de1
|
|
4
|
+
data.tar.gz: 69b132d5faa7e4d07f52344491295fb349e1453b2aa43b2de2ae25fbff21a9a2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f0c9b87d7bc0cf30712c3e6cbbedabd66d6af631ed39586fe7853f78970b3b8ea80e18c78130394c323f3d09d61cf7b5c39d9c1927ed71fe9fb30a3e1c7453d
|
|
7
|
+
data.tar.gz: 7eb506783c68f81ac54ae37b54d4b415d996f1a2f50ce112c2733cd0726ca55088b3875c281743aa8eed389243d4049ca01f07f2a0211cc99b4f462ff17a4c5e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,21 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.2.6] - 2026-06-13
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.2.6][2.2.6t]
|
|
36
|
+
- COVERAGE: 92.27% -- 3833/4154 lines in 28 files
|
|
37
|
+
- BRANCH COVERAGE: 73.51% -- 1518/2065 branches in 28 files
|
|
38
|
+
- 66.67% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
#### Changelog
|
|
43
|
+
|
|
44
|
+
- Added `kettle-changelog --pending-release`, a non-mutating query that exits
|
|
45
|
+
successfully when `CHANGELOG.md` has unreleased entries or its most recent
|
|
46
|
+
release section has not been published yet.
|
|
47
|
+
|
|
33
48
|
## [2.2.5] - 2026-06-13
|
|
34
49
|
|
|
35
50
|
- TAG: [v2.2.5][2.2.5t]
|
|
@@ -2060,7 +2075,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
2060
2075
|
- Selecting will run the selected workflow via `act`
|
|
2061
2076
|
- This may move to its own gem in the future.
|
|
2062
2077
|
|
|
2063
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.
|
|
2078
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.6...HEAD
|
|
2079
|
+
[2.2.6]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.5...v2.2.6
|
|
2080
|
+
[2.2.6t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.6
|
|
2064
2081
|
[2.2.5]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.4...v2.2.5
|
|
2065
2082
|
[2.2.5t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.5
|
|
2066
2083
|
[2.2.4]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.3...v2.2.4
|
data/README.md
CHANGED
|
@@ -854,7 +854,7 @@ Thanks for RTFM. ☺️
|
|
|
854
854
|
[📌gitmoji]: https://gitmoji.dev
|
|
855
855
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
856
856
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
857
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-4.
|
|
857
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-4.154-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
858
858
|
[🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
|
|
859
859
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
860
860
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/exe/kettle-changelog
CHANGED
|
@@ -51,7 +51,7 @@ end
|
|
|
51
51
|
begin
|
|
52
52
|
if ARGV.include?("-h") || ARGV.include?("--help")
|
|
53
53
|
puts <<~USAGE
|
|
54
|
-
Usage: kettle-changelog [--update-prep] [--no-strict] [--no-coverage-threshold]
|
|
54
|
+
Usage: kettle-changelog [--update-prep] [--pending-release] [--no-strict] [--no-coverage-threshold]
|
|
55
55
|
|
|
56
56
|
Detects the current version from lib/**/version.rb, the latest live release, and
|
|
57
57
|
the most recent CHANGELOG.md release section, then prompts to confirm the selected plan:
|
|
@@ -62,6 +62,7 @@ begin
|
|
|
62
62
|
|
|
63
63
|
Options:
|
|
64
64
|
--update-prep Force updating the most recent prepared release section in place
|
|
65
|
+
--pending-release Query whether the changelog has release work pending; exits 0 for yes, 1 for no
|
|
65
66
|
--no-strict Allow missing coverage and yard data (warnings only, no errors)
|
|
66
67
|
--no-coverage-threshold Generate coverage without hard-failing below configured thresholds
|
|
67
68
|
|
|
@@ -89,11 +90,19 @@ end
|
|
|
89
90
|
begin
|
|
90
91
|
# Determine if strict mode is enabled (default: true)
|
|
91
92
|
strict_mode = !ARGV.include?("--no-strict") && ENV.fetch("K_CHANGELOG_STRICT", "true").downcase != "false"
|
|
92
|
-
update_prep = ARGV.
|
|
93
|
+
update_prep = ARGV.delete("--update-prep")
|
|
94
|
+
pending_release_query = ARGV.delete("--pending-release")
|
|
93
95
|
coverage_threshold_disabled = ARGV.include?("--no-coverage-threshold") || ARGV.include?("--no-coverage-thresholds")
|
|
94
96
|
coverage_hard = !coverage_threshold_disabled && ENV.fetch("K_CHANGELOG_COVERAGE_HARD", "true").downcase != "false"
|
|
95
97
|
|
|
96
|
-
Kettle::Dev::ChangelogCLI.new(strict: strict_mode, enforce_coverage_thresholds: coverage_hard, update_prep: update_prep)
|
|
98
|
+
cli = Kettle::Dev::ChangelogCLI.new(strict: strict_mode, enforce_coverage_thresholds: coverage_hard, update_prep: update_prep)
|
|
99
|
+
if pending_release_query
|
|
100
|
+
status = cli.pending_release_status
|
|
101
|
+
puts status.fetch(:pending) ? "true" : "false"
|
|
102
|
+
exit(status.fetch(:pending) ? 0 : 1)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
cli.run
|
|
97
106
|
rescue LoadError => e
|
|
98
107
|
warn("#{script_basename}: could not load dependency: #{e.class}: #{e.message}")
|
|
99
108
|
warn(e.backtrace.join("\n")) if ENV["DEBUG"]
|
|
@@ -135,6 +135,41 @@ module Kettle
|
|
|
135
135
|
puts "CHANGELOG.md updated with v#{version} section."
|
|
136
136
|
end
|
|
137
137
|
|
|
138
|
+
def pending_release_status
|
|
139
|
+
changelog = File.read(@changelog_path)
|
|
140
|
+
unreleased_block, _before, after = extract_unreleased(changelog)
|
|
141
|
+
unreleased_entries = unreleased_block_has_entries?(unreleased_block)
|
|
142
|
+
latest_changelog_version = detect_previous_version(after.to_s)
|
|
143
|
+
gem_name = nil
|
|
144
|
+
latest_overall = nil
|
|
145
|
+
latest_for_series = nil
|
|
146
|
+
latest_target = nil
|
|
147
|
+
|
|
148
|
+
if latest_changelog_version && !unreleased_entries
|
|
149
|
+
begin
|
|
150
|
+
gem_name = detect_gem_name
|
|
151
|
+
latest_overall, latest_for_series = latest_released_versions(gem_name, latest_changelog_version)
|
|
152
|
+
latest_target = latest_release_target(latest_changelog_version, latest_overall, latest_for_series)
|
|
153
|
+
rescue => e
|
|
154
|
+
warn("[kettle-changelog] gem.coop release check failed: #{e.class}: #{e.message}")
|
|
155
|
+
warn("Treating the most recent CHANGELOG.md release section as pending because live release info is unavailable.")
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
prepared_release_pending = !unreleased_entries && !!latest_changelog_version && latest_target != latest_changelog_version
|
|
160
|
+
|
|
161
|
+
{
|
|
162
|
+
pending: unreleased_entries || prepared_release_pending,
|
|
163
|
+
unreleased_entries: unreleased_entries,
|
|
164
|
+
prepared_release_pending: prepared_release_pending,
|
|
165
|
+
latest_changelog_version: latest_changelog_version,
|
|
166
|
+
latest_released: latest_overall,
|
|
167
|
+
latest_released_for_current_series: latest_for_series,
|
|
168
|
+
latest_release_target: latest_target,
|
|
169
|
+
gem_name: gem_name
|
|
170
|
+
}
|
|
171
|
+
end
|
|
172
|
+
|
|
138
173
|
private
|
|
139
174
|
|
|
140
175
|
def abort(msg)
|
data/lib/kettle/dev/version.rb
CHANGED
|
@@ -15,6 +15,8 @@ module Kettle
|
|
|
15
15
|
# Main entry point that updates CHANGELOG.md
|
|
16
16
|
def run: () -> void
|
|
17
17
|
|
|
18
|
+
def pending_release_status: () -> Hash[Symbol, untyped]
|
|
19
|
+
|
|
18
20
|
private
|
|
19
21
|
|
|
20
22
|
# Abort with error message
|
|
@@ -61,4 +63,3 @@ module Kettle
|
|
|
61
63
|
end
|
|
62
64
|
end
|
|
63
65
|
end
|
|
64
|
-
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-dev
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -338,10 +338,10 @@ licenses:
|
|
|
338
338
|
- AGPL-3.0-only
|
|
339
339
|
metadata:
|
|
340
340
|
homepage_uri: https://kettle-dev.galtzo.com
|
|
341
|
-
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.
|
|
342
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.
|
|
341
|
+
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.6
|
|
342
|
+
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.6/CHANGELOG.md
|
|
343
343
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
|
|
344
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.
|
|
344
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.6
|
|
345
345
|
funding_uri: https://github.com/sponsors/pboling
|
|
346
346
|
wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
|
|
347
347
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
|
Binary file
|