kettle-family 1.2.71 → 1.2.73
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 +29 -1
- data/README.md +1 -1
- data/lib/kettle/family/cli.rb +1 -2
- data/lib/kettle/family/release_state_check.rb +7 -20
- data/lib/kettle/family/selection.rb +2 -7
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.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: e1dcea43bfc300c3aefd69feccb2b76b532c32999d0f6ef753a8e60018ec50fe
|
|
4
|
+
data.tar.gz: f03a4dd05afd1a36e431808ab9b654f75d2f5147a6705e678539a183530f1695
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f75f271224c4e5bf6f10259d576f2b0ca3d8e12fea53a249cf21d154b7fca476491ff13dc58f7c98e6f8681bd212d62f7a82861c0f66a61d107968ac0e19568
|
|
7
|
+
data.tar.gz: e44c17034b47825c4a9b5ddf7b5769e13bd19cd8d86268752c269e2e15da90138d525c365157f4a4e9e74897b2d8943caecf95c7a1ee3b3418676801391e09ab
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,30 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.2.73] - 2026-08-31
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.2.73][1.2.73t]
|
|
36
|
+
- COVERAGE: 93.32% -- 5535/5931 lines in 33 files
|
|
37
|
+
- BRANCH COVERAGE: 76.76% -- 2276/2965 branches in 33 files
|
|
38
|
+
- 30.50% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Generate release resume hints only from explicit child release-step metadata.
|
|
43
|
+
|
|
44
|
+
## [1.2.72] - 2026-08-30
|
|
45
|
+
|
|
46
|
+
- TAG: [v1.2.72][1.2.72t]
|
|
47
|
+
- COVERAGE: 93.32% -- 5535/5931 lines in 33 files
|
|
48
|
+
- BRANCH COVERAGE: 76.73% -- 2275/2965 branches in 33 files
|
|
49
|
+
- 30.50% documented
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- Exclude already-bumped local-changelog members from shared family bump selection.
|
|
54
|
+
|
|
55
|
+
- Propagate required shared-version bumps across shared-changelog members while keeping member-local changelogs independent.
|
|
56
|
+
|
|
33
57
|
## [1.2.71] - 2026-08-30
|
|
34
58
|
|
|
35
59
|
- TAG: [v1.2.71][1.2.71t]
|
|
@@ -2357,7 +2381,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
2357
2381
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
2358
2382
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
2359
2383
|
|
|
2360
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.
|
|
2384
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.73...HEAD
|
|
2385
|
+
[1.2.73]: https://github.com/kettle-dev/kettle-family/compare/v1.2.72...v1.2.73
|
|
2386
|
+
[1.2.73t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.73
|
|
2387
|
+
[1.2.72]: https://github.com/kettle-dev/kettle-family/compare/v1.2.71...v1.2.72
|
|
2388
|
+
[1.2.72t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.72
|
|
2361
2389
|
[1.2.71]: https://github.com/kettle-dev/kettle-family/compare/v1.2.70...v1.2.71
|
|
2362
2390
|
[1.2.71t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.71
|
|
2363
2391
|
[1.2.70]: https://github.com/kettle-dev/kettle-family/compare/v1.2.69...v1.2.70
|
data/README.md
CHANGED
|
@@ -1049,7 +1049,7 @@ Thanks for RTFM. ☺️
|
|
|
1049
1049
|
[📌gitmoji]: https://gitmoji.dev
|
|
1050
1050
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
1051
1051
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
1052
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.
|
|
1052
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.931-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
1053
1053
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
1054
1054
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
1055
1055
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/lib/kettle/family/cli.rb
CHANGED
|
@@ -702,8 +702,7 @@ module Kettle
|
|
|
702
702
|
)
|
|
703
703
|
selected = Selection.new(
|
|
704
704
|
members: ordered,
|
|
705
|
-
release_state_results: release_state_results
|
|
706
|
-
shared_version: config.shared_changelog?
|
|
705
|
+
release_state_results: release_state_results
|
|
707
706
|
).apply(only: effective_only, exclude: options[:exclude], start_at: start_at.member)
|
|
708
707
|
result_members = selected
|
|
709
708
|
display_members = display_members_for(command: command, config: config, members: ordered, selected_members: selected)
|
|
@@ -777,23 +777,11 @@ module Kettle
|
|
|
777
777
|
end
|
|
778
778
|
|
|
779
779
|
def normalize_shared_version_bump(results)
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
successful = results.select(&:ok?)
|
|
783
|
-
target_version = successful.filter_map { |result| parse_version(result.state["version"]) }.max
|
|
784
|
-
released_version = successful.filter_map { |result| parse_version(result.state["latest_released"]) }.max
|
|
785
|
-
target_already_bumped = target_version && released_version && target_version > released_version
|
|
780
|
+
shared_results = results.select { |result| result.ok? && shared_changelog_member_result?(result) }
|
|
781
|
+
return results unless shared_results.any? { |result| result.state["bump_release_pending"] == true }
|
|
786
782
|
|
|
787
783
|
results.map do |result|
|
|
788
|
-
next result unless result.ok?
|
|
789
|
-
|
|
790
|
-
state = result.state
|
|
791
|
-
version = parse_version(state["version"])
|
|
792
|
-
bump_pending = if target_already_bumped && version == target_version
|
|
793
|
-
false
|
|
794
|
-
else
|
|
795
|
-
state["bump_release_pending"] == true
|
|
796
|
-
end
|
|
784
|
+
next result unless result.ok? && shared_changelog_member_result?(result)
|
|
797
785
|
|
|
798
786
|
result.class.new(
|
|
799
787
|
member_name: result.member_name,
|
|
@@ -804,17 +792,16 @@ module Kettle
|
|
|
804
792
|
stdout: result.stdout,
|
|
805
793
|
stderr: result.stderr,
|
|
806
794
|
elapsed_seconds: result.elapsed_seconds,
|
|
807
|
-
state: state.merge("bump_release_pending" =>
|
|
795
|
+
state: result.state.merge("bump_release_pending" => true),
|
|
808
796
|
reason: result.reason,
|
|
809
797
|
branch: result.branch
|
|
810
798
|
)
|
|
811
799
|
end
|
|
812
800
|
end
|
|
813
801
|
|
|
814
|
-
def
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
nil
|
|
802
|
+
def shared_changelog_member_result?(result)
|
|
803
|
+
member = members.find { |candidate| candidate.name == result.member_name }
|
|
804
|
+
member && !member_local_changelog?(member)
|
|
818
805
|
end
|
|
819
806
|
|
|
820
807
|
def git_root
|
|
@@ -30,10 +30,9 @@ module Kettle
|
|
|
30
30
|
raise Error, "--only release-state tokens cannot be combined with member names: #{member_names.join(", ")}" unless member_names.empty?
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
def initialize(members:, release_state_results: nil
|
|
33
|
+
def initialize(members:, release_state_results: nil)
|
|
34
34
|
@members = members
|
|
35
35
|
@release_state_results = release_state_results
|
|
36
|
-
@shared_version = shared_version
|
|
37
36
|
end
|
|
38
37
|
|
|
39
38
|
def apply(only: nil, exclude: nil, start_at: nil)
|
|
@@ -48,7 +47,7 @@ module Kettle
|
|
|
48
47
|
|
|
49
48
|
private
|
|
50
49
|
|
|
51
|
-
attr_reader :members, :release_state_results
|
|
50
|
+
attr_reader :members, :release_state_results
|
|
52
51
|
|
|
53
52
|
def select_only(selected, only)
|
|
54
53
|
names = only.split(",").map(&:strip).reject(&:empty?)
|
|
@@ -89,10 +88,6 @@ module Kettle
|
|
|
89
88
|
failed = results_by_member.values.select { |result| !result.ok? }
|
|
90
89
|
raise Error, "release-state check failed for: #{failed.map(&:member_name).join(", ")}" unless failed.empty?
|
|
91
90
|
|
|
92
|
-
if shared_version && status_tokens.include?("bump")
|
|
93
|
-
return selected if selected.any? { |candidate| truthy_state?(results_by_member[candidate.name]&.state&.fetch("bump_release_pending", nil)) }
|
|
94
|
-
end
|
|
95
|
-
|
|
96
91
|
selected.select do |candidate|
|
|
97
92
|
result = results_by_member[candidate.name]
|
|
98
93
|
result && status_tokens.all? { |token| truthy_state?(result.state[STATUS_TOKEN_KEYS.fetch(token)]) }
|
|
@@ -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.2.
|
|
8
|
+
VERSION = "1.2.73"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
|
@@ -3373,7 +3373,7 @@ module Kettle
|
|
|
3373
3373
|
next false unless event
|
|
3374
3374
|
|
|
3375
3375
|
if event["type"] == "command_step" && event["phase"] == "release" && event["status"] == "failed"
|
|
3376
|
-
state[:failed_step] = event["
|
|
3376
|
+
state[:failed_step] = event["resume_step"].to_i if state && event["resume_step"].to_s.match?(/\A\d+\z/)
|
|
3377
3377
|
end
|
|
3378
3378
|
|
|
3379
3379
|
if progress_io
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-family
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.73
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -91,7 +91,7 @@ dependencies:
|
|
|
91
91
|
requirements:
|
|
92
92
|
- - ">="
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
|
-
version: 3.0.
|
|
94
|
+
version: 3.0.24
|
|
95
95
|
- - "<"
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
97
|
version: 4.0.0
|
|
@@ -101,7 +101,7 @@ dependencies:
|
|
|
101
101
|
requirements:
|
|
102
102
|
- - ">="
|
|
103
103
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: 3.0.
|
|
104
|
+
version: 3.0.24
|
|
105
105
|
- - "<"
|
|
106
106
|
- !ruby/object:Gem::Version
|
|
107
107
|
version: 4.0.0
|
|
@@ -441,10 +441,10 @@ licenses:
|
|
|
441
441
|
- AGPL-3.0-only
|
|
442
442
|
metadata:
|
|
443
443
|
homepage_uri: https://kettle-family.galtzo.com
|
|
444
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.
|
|
445
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.
|
|
444
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.73
|
|
445
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.73/CHANGELOG.md
|
|
446
446
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
447
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.
|
|
447
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.73
|
|
448
448
|
funding_uri: https://github.com/sponsors/pboling
|
|
449
449
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
450
450
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|