kettle-family 1.2.40 → 1.2.41
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/lib/kettle/family/cli.rb +15 -2
- data/lib/kettle/family/release_state_check.rb +28 -2
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/version_bump.rb +4 -2
- 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: 06e650b41451e42fa21f02b33415452f6150a28f23a7201476d7b53898985836
|
|
4
|
+
data.tar.gz: 78d0efc3990b00ae0f89e9fb0e4ea1f187248cdfb23280492495cd119e4b5e42
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73a92a80cfa7c1774bdf4af3cdd36f5e9d56eaab91a350b3ef9ac2478d3c142f8843c732b2d7a5c5690dfb317a0fad2d855bead22054e5044cd08504d978e87d
|
|
7
|
+
data.tar.gz: 3266c134547b5a0001c1979d706b2d68bee48deea4b4f4fa787a833e8a47379c5d94e4b121885f5f99a9f81c0b1fedcd1099babbce9807c91ee269a9c5c403d9
|
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
|
+
## [1.2.41] - 2026-08-07
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.2.41][1.2.41t]
|
|
36
|
+
- COVERAGE: 93.55% -- 5020/5366 lines in 32 files
|
|
37
|
+
- BRANCH COVERAGE: 76.05% -- 2010/2643 branches in 32 files
|
|
38
|
+
- 29.81% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Propagate shared-version bump state across all family members.
|
|
43
|
+
|
|
44
|
+
- Align incomplete shared-version bumps to one family target version.
|
|
45
|
+
|
|
46
|
+
- Distinguish partial shared-version bumps from aligned family bumps.
|
|
47
|
+
|
|
33
48
|
## [1.2.40] - 2026-08-07
|
|
34
49
|
|
|
35
50
|
- TAG: [v1.2.40][1.2.40t]
|
|
@@ -1909,7 +1924,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1909
1924
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
1910
1925
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
1911
1926
|
|
|
1912
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.
|
|
1927
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.41...HEAD
|
|
1928
|
+
[1.2.41]: https://github.com/kettle-dev/kettle-family/compare/v1.2.40...v1.2.41
|
|
1929
|
+
[1.2.41t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.41
|
|
1913
1930
|
[1.2.40]: https://github.com/kettle-dev/kettle-family/compare/v1.2.39...v1.2.40
|
|
1914
1931
|
[1.2.40t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.40
|
|
1915
1932
|
[1.2.39]: https://github.com/kettle-dev/kettle-family/compare/v1.2.38...v1.2.39
|
data/README.md
CHANGED
|
@@ -837,7 +837,7 @@ Thanks for RTFM. ☺️
|
|
|
837
837
|
[📌gitmoji]: https://gitmoji.dev
|
|
838
838
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
839
839
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
840
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.
|
|
840
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.366-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
841
841
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
842
842
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
843
843
|
[📄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
|
@@ -750,7 +750,7 @@ module Kettle
|
|
|
750
750
|
|
|
751
751
|
def command_results_for_current_branch(command:, config:, members:, options:, start_at: StartAt.new(nil, nil), state_event_handler: nil)
|
|
752
752
|
return mise_trust_results(config: config, members: members) if command == "mise-trust"
|
|
753
|
-
return bump_version_results(members: members, options: options, phase: command) if %w[bump bump-version].include?(command)
|
|
753
|
+
return bump_version_results(config: config, members: members, options: options, phase: command) if %w[bump bump-version].include?(command)
|
|
754
754
|
return add_changelog_results(members: members, options: options) if command == "add-changelog"
|
|
755
755
|
return clean_unreleased_results(config: config, members: members, options: options) if command == "clean-unreleased"
|
|
756
756
|
return reconcile_release_results(config: config, members: members, options: options) if command == "reconcile-releases"
|
|
@@ -1003,12 +1003,13 @@ module Kettle
|
|
|
1003
1003
|
StartAt.new(member, branch)
|
|
1004
1004
|
end
|
|
1005
1005
|
|
|
1006
|
-
def bump_version_results(members:, options:, phase:)
|
|
1006
|
+
def bump_version_results(config:, members:, options:, phase:)
|
|
1007
1007
|
require_relative "version_bump"
|
|
1008
1008
|
require_relative "release_waves"
|
|
1009
1009
|
|
|
1010
1010
|
results = []
|
|
1011
1011
|
completed_target_versions = {}
|
|
1012
|
+
shared_target_version = shared_bump_target_version(config: config, members: members, options: options)
|
|
1012
1013
|
ReleaseWaves.new(members: members).waves.each do |wave|
|
|
1013
1014
|
bump = VersionBump.new(
|
|
1014
1015
|
members: wave,
|
|
@@ -1016,6 +1017,7 @@ module Kettle
|
|
|
1016
1017
|
from_version: options[:from_version],
|
|
1017
1018
|
mode: bump_version_mode(options),
|
|
1018
1019
|
phase: phase,
|
|
1020
|
+
shared_target_version: shared_target_version,
|
|
1019
1021
|
dependency_target_versions: completed_target_versions
|
|
1020
1022
|
)
|
|
1021
1023
|
wave_results = bump.results
|
|
@@ -1042,6 +1044,17 @@ module Kettle
|
|
|
1042
1044
|
end
|
|
1043
1045
|
end
|
|
1044
1046
|
|
|
1047
|
+
def shared_bump_target_version(config:, members:, options:)
|
|
1048
|
+
return unless config.shared_changelog?
|
|
1049
|
+
return unless Kettle::Dev::VersionBump::BUMP_TYPES.include?(options[:target_version].to_s)
|
|
1050
|
+
|
|
1051
|
+
versions = members.map { |member| Gem::Version.new(member.version.to_s) }.uniq
|
|
1052
|
+
current = versions.max
|
|
1053
|
+
return current.to_s if versions.length > 1
|
|
1054
|
+
|
|
1055
|
+
Kettle::Dev::VersionBump.resolve_target_version(options[:target_version].to_s, current.to_s)
|
|
1056
|
+
end
|
|
1057
|
+
|
|
1045
1058
|
def add_changelog_results(members:, options:)
|
|
1046
1059
|
section = options[:changelog_section].to_s
|
|
1047
1060
|
entry = options[:changelog_entry].to_s
|
|
@@ -35,7 +35,10 @@ module Kettle
|
|
|
35
35
|
|
|
36
36
|
def results(event_handler: nil)
|
|
37
37
|
return branch_results(event_handler: event_handler) unless release_target_branches.empty?
|
|
38
|
-
|
|
38
|
+
if shared_changelog?
|
|
39
|
+
results = parallel_map(members) { |member| check_shared_changelog_member_or_local(member, event_handler: event_handler) }
|
|
40
|
+
return normalize_shared_version_bump(results)
|
|
41
|
+
end
|
|
39
42
|
|
|
40
43
|
member_results = parallel_map(members) do |member|
|
|
41
44
|
member_branch_results = member_local_branch_results(member, event_handler: event_handler)
|
|
@@ -55,7 +58,8 @@ module Kettle
|
|
|
55
58
|
with_branch_worktree(root: root, branch: branch) do |worktree_root|
|
|
56
59
|
branch_members = discover_branch_members(worktree_root: worktree_root, selected_names: selected_names)
|
|
57
60
|
if shared_changelog?
|
|
58
|
-
|
|
61
|
+
results = parallel_map(branch_members) { |member| check_shared_changelog_member_or_local(member, branch: branch, event_handler: event_handler) }
|
|
62
|
+
memo.concat(normalize_shared_version_bump(results))
|
|
59
63
|
next
|
|
60
64
|
end
|
|
61
65
|
|
|
@@ -736,6 +740,28 @@ module Kettle
|
|
|
736
740
|
config&.shared_changelog?
|
|
737
741
|
end
|
|
738
742
|
|
|
743
|
+
def normalize_shared_version_bump(results)
|
|
744
|
+
return results unless results.any? { |result| result.ok? && result.state["bump_release_pending"] == true }
|
|
745
|
+
|
|
746
|
+
results.map do |result|
|
|
747
|
+
next result unless result.ok?
|
|
748
|
+
|
|
749
|
+
result.class.new(
|
|
750
|
+
member_name: result.member_name,
|
|
751
|
+
command: result.command,
|
|
752
|
+
workdir: result.workdir,
|
|
753
|
+
status: result.status,
|
|
754
|
+
success: result.success,
|
|
755
|
+
stdout: result.stdout,
|
|
756
|
+
stderr: result.stderr,
|
|
757
|
+
elapsed_seconds: result.elapsed_seconds,
|
|
758
|
+
state: result.state.merge("bump_release_pending" => true),
|
|
759
|
+
reason: result.reason,
|
|
760
|
+
branch: result.branch
|
|
761
|
+
)
|
|
762
|
+
end
|
|
763
|
+
end
|
|
764
|
+
|
|
739
765
|
def git_root
|
|
740
766
|
stdout, stderr, status = Open3.capture3("git", "rev-parse", "--show-toplevel", chdir: config.root)
|
|
741
767
|
raise Error, "could not determine git root for #{config.root}: #{stderr}" unless status.success?
|
|
@@ -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.41"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
|
@@ -7,13 +7,14 @@ module Kettle
|
|
|
7
7
|
class VersionBump
|
|
8
8
|
DEPENDENCY_METHODS = %i[add_dependency add_runtime_dependency add_development_dependency].freeze
|
|
9
9
|
|
|
10
|
-
def initialize(members:, target_version:, from_version: nil, mode: :dry_run, phase: "bump-version", dependency_target_versions: nil)
|
|
10
|
+
def initialize(members:, target_version:, from_version: nil, mode: :dry_run, phase: "bump-version", dependency_target_versions: nil, shared_target_version: nil)
|
|
11
11
|
@members = members
|
|
12
12
|
@target_version = target_version.to_s
|
|
13
13
|
@explicit_target_version = validate_version(target_version) unless Kettle::Dev::VersionBump::BUMP_TYPES.include?(@target_version)
|
|
14
14
|
@from_version = validate_version(from_version) if from_version
|
|
15
15
|
@mode = mode
|
|
16
16
|
@phase = phase
|
|
17
|
+
@shared_target_version = shared_target_version && validate_version(shared_target_version)
|
|
17
18
|
@member_names = members.map(&:name)
|
|
18
19
|
@member_target_versions = members.each_with_object({}) do |member, memo|
|
|
19
20
|
memo[member.name] = resolve_target_version(member)
|
|
@@ -32,7 +33,7 @@ module Kettle
|
|
|
32
33
|
|
|
33
34
|
private
|
|
34
35
|
|
|
35
|
-
attr_reader :members, :target_version, :explicit_target_version, :from_version, :mode, :phase, :member_target_versions, :dependency_target_versions, :dependency_member_names
|
|
36
|
+
attr_reader :members, :target_version, :explicit_target_version, :from_version, :mode, :phase, :member_target_versions, :dependency_target_versions, :dependency_member_names, :shared_target_version
|
|
36
37
|
|
|
37
38
|
def validate_version(version)
|
|
38
39
|
with_dev_errors { Kettle::Dev::VersionBump.validate_version(version) }
|
|
@@ -147,6 +148,7 @@ module Kettle
|
|
|
147
148
|
|
|
148
149
|
def resolve_target_version(member)
|
|
149
150
|
return explicit_target_version unless Kettle::Dev::VersionBump::BUMP_TYPES.include?(target_version)
|
|
151
|
+
return shared_target_version if shared_target_version
|
|
150
152
|
|
|
151
153
|
with_dev_errors { Kettle::Dev::VersionBump.resolve_target_version(target_version, member.version) }
|
|
152
154
|
end
|
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.41
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -360,10 +360,10 @@ licenses:
|
|
|
360
360
|
- AGPL-3.0-only
|
|
361
361
|
metadata:
|
|
362
362
|
homepage_uri: https://kettle-family.galtzo.com
|
|
363
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.
|
|
364
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.
|
|
363
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.41
|
|
364
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.41/CHANGELOG.md
|
|
365
365
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
366
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.
|
|
366
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.41
|
|
367
367
|
funding_uri: https://github.com/sponsors/pboling
|
|
368
368
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
369
369
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|