kettle-changelog 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 +16 -1
- data/README.md +6 -1
- data/exe/kettle-changelog +5 -2
- data/lib/kettle/changelog/cli.rb +35 -3
- data/lib/kettle/changelog/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- 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: 2ecd249c6b061cc317b81a854a766b92f0f8563ec986d46ba301c91aa0e03be9
|
|
4
|
+
data.tar.gz: 5aa44defac27dbce2d14a0b52f24647a700f9910980ab5dea0ed194586c2bb26
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4f2695df4b42baf349133ce330e7e35ea80ec0060a7d50e6373249717cd171fdbbc50898f89dfdbfc2e5fab4d698bcc60b30512f170d0bccbd9bf33a5cd3c7d9
|
|
7
|
+
data.tar.gz: 85cc9764d62f271e046efec6730b491c0a124d78a52dea7732f4fd31f94ebb4bd2e2b8d994147d51b1fe92ccfdd20d3289cad70681ca1883a65d2a11ba3154c5
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,19 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.0.7] - 2026-08-30
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.0.7][1.0.7t]
|
|
36
|
+
- COVERAGE: 94.35% -- 1136/1204 lines in 6 files
|
|
37
|
+
- BRANCH COVERAGE: 77.73% -- 398/512 branches in 6 files
|
|
38
|
+
- 38.89% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Honor the release-provided disposable lockfile when generating strict changelog coverage.
|
|
43
|
+
|
|
44
|
+
- Use generated coverage bundles for changelog coverage when available, with explicit bundle selection overrides.
|
|
45
|
+
|
|
33
46
|
## [1.0.6] - 2026-08-29
|
|
34
47
|
|
|
35
48
|
- TAG: [v1.0.6][1.0.6t]
|
|
@@ -192,7 +205,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
192
205
|
|
|
193
206
|
- Initial release
|
|
194
207
|
|
|
195
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.
|
|
208
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.7...HEAD
|
|
209
|
+
[1.0.7]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.6...v1.0.7
|
|
210
|
+
[1.0.7t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.7
|
|
196
211
|
[1.0.6]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.5...v1.0.6
|
|
197
212
|
[1.0.6t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.6
|
|
198
213
|
[1.0.5]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.4...v1.0.5
|
data/README.md
CHANGED
|
@@ -123,6 +123,7 @@ gem install kettle-changelog
|
|
|
123
123
|
|
|
124
124
|
- `K_CHANGELOG_PATH` selects a changelog outside the current project root.
|
|
125
125
|
- `K_CHANGELOG_COVERAGE_ROOT` selects the project root used for coverage generation.
|
|
126
|
+
- `K_CHANGELOG_COVERAGE_GEMFILE` selects the target-project Gemfile used for coverage generation. It is resolved relative to the coverage root; absent an explicit setting, `gemfiles/coverage.gemfile` is preferred when generated by Appraisal, then the root `Gemfile` is used.
|
|
126
127
|
- `K_CHANGELOG_VERSION_FILE` selects the version file when the project has more than one version tree.
|
|
127
128
|
- `K_CHANGELOG_GEM_NAME` overrides the gem name used for release lookups.
|
|
128
129
|
- `K_CHANGELOG_STRICT=false` allows missing coverage or YARD data.
|
|
@@ -137,6 +138,10 @@ Run the release preparation command from the gem root:
|
|
|
137
138
|
bundle exec kettle-changelog
|
|
138
139
|
```
|
|
139
140
|
|
|
141
|
+
Use `--coverage-gemfile PATH` to select a different target-project coverage
|
|
142
|
+
bundle for one invocation. This is intentionally separate from `BUNDLE_GEMFILE`,
|
|
143
|
+
which may be required to run `kettle-changelog` itself from a release bundle.
|
|
144
|
+
|
|
140
145
|
Use `--yes` for non-interactive release automation. Add a note without preparing a release with:
|
|
141
146
|
|
|
142
147
|
```console
|
|
@@ -397,7 +402,7 @@ Thanks for RTFM. ☺️
|
|
|
397
402
|
[📌gitmoji]: https://gitmoji.dev
|
|
398
403
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
399
404
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
400
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.
|
|
405
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.204-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
401
406
|
[🔐security]: https://github.com/kettle-dev/kettle-changelog/blob/main/SECURITY.md
|
|
402
407
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
403
408
|
[📄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
|
@@ -63,7 +63,7 @@ end
|
|
|
63
63
|
|
|
64
64
|
if ARGV.include?("-h") || ARGV.include?("--help")
|
|
65
65
|
puts <<~USAGE
|
|
66
|
-
Usage: kettle-changelog [--version VERSION] [--yes] [--update-prep|--reformat|--backfill-released-version VERSION] [--pending-release] [--release-state] [--refresh-cache] [--add-unreleased-entry --section SECTION --entry TEXT] [--upsert-unreleased-entry --section SECTION --key KEY --entry TEXT] [--json|--events[=TYPES]] [--no-strict] [--no-coverage-threshold]
|
|
66
|
+
Usage: kettle-changelog [--version VERSION] [--yes] [--coverage-gemfile PATH] [--update-prep|--reformat|--backfill-released-version VERSION] [--pending-release] [--release-state] [--refresh-cache] [--add-unreleased-entry --section SECTION --entry TEXT] [--upsert-unreleased-entry --section SECTION --key KEY --entry TEXT] [--json|--events[=TYPES]] [--no-strict] [--no-coverage-threshold]
|
|
67
67
|
|
|
68
68
|
Detects the current version from lib/**/version.rb, the latest live release, and
|
|
69
69
|
the most recent CHANGELOG.md release section, then prompts to confirm the selected plan:
|
|
@@ -93,12 +93,14 @@ if ARGV.include?("-h") || ARGV.include?("--help")
|
|
|
93
93
|
--events[=TYPES] Print newline-delimited JSON changelog events
|
|
94
94
|
--no-strict Allow missing coverage and yard data (warnings only, no errors)
|
|
95
95
|
--no-coverage-threshold Generate coverage without hard-failing below configured thresholds
|
|
96
|
+
--coverage-gemfile PATH Run coverage through this target-project Gemfile
|
|
96
97
|
|
|
97
98
|
Environment:
|
|
98
99
|
K_CHANGELOG_STRICT=false Disable strict mode (equivalent to --no-strict flag)
|
|
99
100
|
K_CHANGELOG_COVERAGE_HARD=false Disable coverage threshold hard-failure
|
|
100
101
|
K_CHANGELOG_PATH=path Read and write this changelog instead of ./CHANGELOG.md
|
|
101
102
|
K_CHANGELOG_COVERAGE_ROOT=path Run/read coverage from this root instead of the gem root
|
|
103
|
+
K_CHANGELOG_COVERAGE_GEMFILE=path Target-project Gemfile for coverage; defaults to gemfiles/coverage.gemfile, then Gemfile
|
|
102
104
|
K_CHANGELOG_VERSION_FILE=path Read VERSION from this file instead of lib/**/version.rb
|
|
103
105
|
K_CHANGELOG_GEM_NAME=name Read live release data as this gem instead of root .gemspec
|
|
104
106
|
KETTLE_GEM_COOP_REFRESH=true Bypass cached gem.coop version data
|
|
@@ -206,6 +208,7 @@ begin
|
|
|
206
208
|
end
|
|
207
209
|
|
|
208
210
|
historical_backfill_version = extract_option_arg!(ARGV, "--backfill-released-version")
|
|
211
|
+
coverage_gemfile = extract_option_arg!(ARGV, "--coverage-gemfile")
|
|
209
212
|
|
|
210
213
|
if upsert_unreleased_entry
|
|
211
214
|
section = extract_option_arg!(ARGV, "--section")
|
|
@@ -240,7 +243,7 @@ begin
|
|
|
240
243
|
end
|
|
241
244
|
|
|
242
245
|
event_stream = events_output ? Kettle::Ndjson.event_stream($stdout, types: event_types) : nil
|
|
243
|
-
cli = Kettle::Changelog::CLI.new(strict: strict_mode, enforce_coverage_thresholds: coverage_hard, update_prep: update_prep, reformat_only: reformat_only, historical_backfill_version: historical_backfill_version, version: version_override, refresh_cache: refresh_cache, yes: yes, event_stream: event_stream)
|
|
246
|
+
cli = Kettle::Changelog::CLI.new(strict: strict_mode, enforce_coverage_thresholds: coverage_hard, update_prep: update_prep, reformat_only: reformat_only, historical_backfill_version: historical_backfill_version, version: version_override, refresh_cache: refresh_cache, yes: yes, event_stream: event_stream, coverage_gemfile: coverage_gemfile)
|
|
244
247
|
if release_state_query
|
|
245
248
|
state = cli.release_state
|
|
246
249
|
puts(json_output ? JSON.pretty_generate(state) : cli.release_state_table(state))
|
data/lib/kettle/changelog/cli.rb
CHANGED
|
@@ -35,10 +35,11 @@ module Kettle
|
|
|
35
35
|
# @param historical_backfill_version [String, nil] tagged release to document without moving Unreleased entries
|
|
36
36
|
# @param version [String, nil] explicit version override for gems without a literal VERSION constant
|
|
37
37
|
# @param yes [Boolean] when true, approve the selected release plan without prompting
|
|
38
|
-
def initialize(strict: true, enforce_coverage_thresholds: true, update_prep: false, reformat_only: false, historical_backfill_version: nil, version: nil, root: Kettle::Dev::CIHelpers.project_root, refresh_cache: false, yes: false, event_stream: nil)
|
|
38
|
+
def initialize(strict: true, enforce_coverage_thresholds: true, update_prep: false, reformat_only: false, historical_backfill_version: nil, version: nil, root: Kettle::Dev::CIHelpers.project_root, refresh_cache: false, yes: false, event_stream: nil, coverage_gemfile: nil)
|
|
39
39
|
@root = root
|
|
40
40
|
@changelog_path = resolved_changelog_path
|
|
41
41
|
@coverage_root = resolved_coverage_root
|
|
42
|
+
@coverage_gemfile = resolved_coverage_gemfile(coverage_gemfile)
|
|
42
43
|
@coverage_path = File.join(@coverage_root, "coverage", "coverage.json")
|
|
43
44
|
@strict = strict
|
|
44
45
|
@enforce_coverage_thresholds = enforce_coverage_thresholds
|
|
@@ -939,11 +940,42 @@ module Kettle
|
|
|
939
940
|
env[key] = nil
|
|
940
941
|
end
|
|
941
942
|
env.merge!(changelog_coverage_workflow_thresholds)
|
|
942
|
-
|
|
943
|
-
|
|
943
|
+
env["BUNDLE_GEMFILE"] = @coverage_gemfile if @coverage_gemfile
|
|
944
|
+
coverage_lockfile = ENV.fetch("KETTLE_CHANGELOG_COVERAGE_LOCKFILE", "").to_s.strip
|
|
945
|
+
unless coverage_lockfile.empty?
|
|
946
|
+
raise "Configured changelog coverage lockfile does not exist: #{coverage_lockfile}" unless File.file?(coverage_lockfile)
|
|
947
|
+
|
|
948
|
+
env["BUNDLE_LOCKFILE"] = coverage_lockfile
|
|
949
|
+
end
|
|
950
|
+
# This is a release-tool handoff, not target-project configuration.
|
|
951
|
+
env["KETTLE_CHANGELOG_COVERAGE_LOCKFILE"] = nil
|
|
944
952
|
env
|
|
945
953
|
end
|
|
946
954
|
|
|
955
|
+
# Coverage has a deliberately smaller bundle than the project's normal
|
|
956
|
+
# development bundle when Appraisal generated gemfiles/coverage.gemfile.
|
|
957
|
+
# Keep the explicit setting separate from BUNDLE_GEMFILE: that variable
|
|
958
|
+
# commonly belongs to the outer kettle-changelog release bundle.
|
|
959
|
+
def resolved_coverage_gemfile(explicit_gemfile)
|
|
960
|
+
requested = explicit_gemfile.to_s.strip
|
|
961
|
+
requested = ENV.fetch("K_CHANGELOG_COVERAGE_GEMFILE", "").to_s.strip if requested.empty?
|
|
962
|
+
|
|
963
|
+
unless requested.empty?
|
|
964
|
+
path = File.expand_path(requested, @coverage_root)
|
|
965
|
+
raise "Configured changelog coverage Gemfile does not exist: #{path}" unless File.file?(path)
|
|
966
|
+
|
|
967
|
+
return path
|
|
968
|
+
end
|
|
969
|
+
|
|
970
|
+
generated = File.join(@coverage_root, "gemfiles", "coverage.gemfile")
|
|
971
|
+
return generated if File.file?(generated)
|
|
972
|
+
|
|
973
|
+
root_gemfile = File.join(@coverage_root, "Gemfile")
|
|
974
|
+
return root_gemfile if File.file?(root_gemfile)
|
|
975
|
+
|
|
976
|
+
nil
|
|
977
|
+
end
|
|
978
|
+
|
|
947
979
|
# The changelog coverage run is the final local test gate before a
|
|
948
980
|
# release commit is pushed. Reuse the checked-in CI workflow thresholds
|
|
949
981
|
# rather than silently falling back to kettle-soup-cover defaults.
|
|
@@ -5,7 +5,7 @@ module Kettle
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = "1.0.
|
|
8
|
+
VERSION = "1.0.7"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-changelog
|
|
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 H. Boling
|
|
@@ -63,7 +63,7 @@ dependencies:
|
|
|
63
63
|
requirements:
|
|
64
64
|
- - ">="
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: 3.0.
|
|
66
|
+
version: 3.0.19
|
|
67
67
|
- - "<"
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
69
|
version: 4.0.0
|
|
@@ -73,7 +73,7 @@ dependencies:
|
|
|
73
73
|
requirements:
|
|
74
74
|
- - ">="
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 3.0.
|
|
76
|
+
version: 3.0.19
|
|
77
77
|
- - "<"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
79
|
version: 4.0.0
|
|
@@ -304,10 +304,10 @@ licenses:
|
|
|
304
304
|
- AGPL-3.0-only
|
|
305
305
|
metadata:
|
|
306
306
|
homepage_uri: https://kettle-changelog.galtzo.com
|
|
307
|
-
source_code_uri: https://github.com/kettle-dev/kettle-changelog/tree/v1.0.
|
|
308
|
-
changelog_uri: https://github.com/kettle-dev/kettle-changelog/blob/v1.0.
|
|
307
|
+
source_code_uri: https://github.com/kettle-dev/kettle-changelog/tree/v1.0.7
|
|
308
|
+
changelog_uri: https://github.com/kettle-dev/kettle-changelog/blob/v1.0.7/CHANGELOG.md
|
|
309
309
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-changelog/issues
|
|
310
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-changelog/1.0.
|
|
310
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-changelog/1.0.7
|
|
311
311
|
funding_uri: https://github.com/sponsors/pboling
|
|
312
312
|
wiki_uri: https://github.com/kettle-dev/kettle-changelog/wiki
|
|
313
313
|
news_uri: https://www.railsbling.com/tags/kettle-changelog
|
metadata.gz.sig
CHANGED
|
Binary file
|