kettle-family 0.1.29 → 0.1.30
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 +22 -1
- data/lib/kettle/family/branch_target_config.rb +17 -0
- data/lib/kettle/family/cli.rb +5 -5
- data/lib/kettle/family/config.rb +7 -0
- data/lib/kettle/family/release_state_check.rb +1 -1
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.rb +1 -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: 9144232b2ea02b46e2236e733d28396876e1622b9aa047bdb23f76193ddc2621
|
|
4
|
+
data.tar.gz: 33b143ff44b740087c377842beecd3bc079a9f56ee2b5c222930aef3df9d5d93
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c96d76e736760fcca99becfbd72bf22ad93fe8cb06a9ca20c9c47cce121a73b37be888fa40e94059beac517d61c1b8e2e33bec788d34fe725d5afe12c5caf9f2
|
|
7
|
+
data.tar.gz: 04be7bb04babc0b8b0a1fb61b0695f97b98989ddb678e8bab1639959c0c71c9d9d5684b247ffa0c1097f350b38e2fda6ecddbb683b1b06ef9ab2829c12577490
|
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
|
+
## [0.1.30] - 2026-06-29
|
|
34
|
+
|
|
35
|
+
- TAG: [v0.1.30][0.1.30t]
|
|
36
|
+
- COVERAGE: 95.32% -- 1934/2029 lines in 21 files
|
|
37
|
+
- BRANCH COVERAGE: 75.31% -- 674/895 branches in 21 files
|
|
38
|
+
- 37.71% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Family root configs can now set `release.member_target_branches` to override
|
|
43
|
+
branch-stack targets for specific members while leaving other member-local
|
|
44
|
+
branch configs inherited.
|
|
45
|
+
|
|
33
46
|
## [0.1.29] - 2026-06-28
|
|
34
47
|
|
|
35
48
|
- TAG: [v0.1.29][0.1.29t]
|
|
@@ -514,7 +527,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
514
527
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
515
528
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
516
529
|
|
|
517
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v0.1.
|
|
530
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v0.1.30...HEAD
|
|
531
|
+
[0.1.30]: https://github.com/kettle-dev/kettle-family/compare/v0.1.29...v0.1.30
|
|
532
|
+
[0.1.30t]: https://github.com/kettle-dev/kettle-family/releases/tag/v0.1.30
|
|
518
533
|
[0.1.29]: https://github.com/kettle-dev/kettle-family/compare/v0.1.28...v0.1.29
|
|
519
534
|
[0.1.29t]: https://github.com/kettle-dev/kettle-family/releases/tag/v0.1.29
|
|
520
535
|
[0.1.28]: https://github.com/kettle-dev/kettle-family/compare/v0.1.27...v0.1.28
|
data/README.md
CHANGED
|
@@ -158,6 +158,27 @@ members:
|
|
|
158
158
|
- "**/vendor/**"
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
Member branch-stack releases can be configured in the member repository itself:
|
|
162
|
+
|
|
163
|
+
```yaml
|
|
164
|
+
release:
|
|
165
|
+
target_branches:
|
|
166
|
+
- r1_8-even-v0
|
|
167
|
+
- r1_9-even-v2
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Family root configs can override a member's branch targets explicitly by member
|
|
171
|
+
name. Members not listed here still inherit their member-local branch target
|
|
172
|
+
config when present.
|
|
173
|
+
|
|
174
|
+
```yaml
|
|
175
|
+
release:
|
|
176
|
+
member_target_branches:
|
|
177
|
+
rubocop-lts:
|
|
178
|
+
- r1_8-even-v0
|
|
179
|
+
- r1_9-even-v2
|
|
180
|
+
```
|
|
181
|
+
|
|
161
182
|
Monorepo families whose member gems share release metadata from the repository
|
|
162
183
|
root can configure readiness and changelog ownership explicitly:
|
|
163
184
|
|
|
@@ -571,7 +592,7 @@ Thanks for RTFM. ☺️
|
|
|
571
592
|
[📌gitmoji]: https://gitmoji.dev
|
|
572
593
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
573
594
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
574
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-2.
|
|
595
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-2.029-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
575
596
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
576
597
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
577
598
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -16,6 +16,23 @@ module Kettle
|
|
|
16
16
|
branches.reject { |branch| branch == "main" }
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
def member_release_config(member:, config:)
|
|
20
|
+
member_configured_release_config(member: member, config: config) ||
|
|
21
|
+
member_local_release_config(member: member, config: config)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def member_configured_release_config(member:, config:)
|
|
25
|
+
return unless config&.respond_to?(:member_release_target_branches)
|
|
26
|
+
|
|
27
|
+
branches = config.member_release_target_branches.fetch(member.name, nil)
|
|
28
|
+
return if branches.nil? || branches.empty?
|
|
29
|
+
|
|
30
|
+
data = config.data.merge(
|
|
31
|
+
"release" => config.data.fetch("release", {}).merge("target_branches" => branches)
|
|
32
|
+
)
|
|
33
|
+
Config.new(root: member.root, path: config.path, data: data)
|
|
34
|
+
end
|
|
35
|
+
|
|
19
36
|
def member_local_release_config(member:, config:)
|
|
20
37
|
member_config = Config.load(root: member.root)
|
|
21
38
|
member_config = member_local_release_config_from_branch(member) || member_config unless member_config.path
|
data/lib/kettle/family/cli.rb
CHANGED
|
@@ -285,7 +285,7 @@ module Kettle
|
|
|
285
285
|
return false if !config.release_target_branches.empty?
|
|
286
286
|
return false unless %w[bump-version install add-changelog].include?(command)
|
|
287
287
|
|
|
288
|
-
members.any? { |member|
|
|
288
|
+
members.any? { |member| member_release_config(member: member, config: config) }
|
|
289
289
|
end
|
|
290
290
|
|
|
291
291
|
def branch_target_command_results(command:, config:, members:, options:, start_at:)
|
|
@@ -315,7 +315,7 @@ module Kettle
|
|
|
315
315
|
def member_local_branch_target_command_results(command:, config:, members:, options:, start_at:)
|
|
316
316
|
runner = CommandRunner.new(execute: options[:execute])
|
|
317
317
|
members.each_with_object([]) do |member, memo|
|
|
318
|
-
member_config =
|
|
318
|
+
member_config = member_release_config(member: member, config: config)
|
|
319
319
|
unless member_config
|
|
320
320
|
memo.concat(command_results_for_current_branch(command: command, config: config, members: [member], options: options))
|
|
321
321
|
break memo unless memo.last&.ok?
|
|
@@ -479,7 +479,7 @@ module Kettle
|
|
|
479
479
|
|
|
480
480
|
def member_release_target_branches(command:, members:, config:, start_at:)
|
|
481
481
|
members.each_with_object({}) do |member, memo|
|
|
482
|
-
member_config =
|
|
482
|
+
member_config = member_release_config(member: member, config: config)
|
|
483
483
|
memo[member.name] = member_branch_targets(command: command, member: member, member_config: member_config, start_at: start_at) if member_config
|
|
484
484
|
end
|
|
485
485
|
end
|
|
@@ -500,8 +500,8 @@ module Kettle
|
|
|
500
500
|
branch_targets.drop(index)
|
|
501
501
|
end
|
|
502
502
|
|
|
503
|
-
def
|
|
504
|
-
BranchTargetConfig.
|
|
503
|
+
def member_release_config(member:, config:)
|
|
504
|
+
BranchTargetConfig.member_release_config(member: member, config: config)
|
|
505
505
|
end
|
|
506
506
|
|
|
507
507
|
def install_order(members, config)
|
data/lib/kettle/family/config.rb
CHANGED
|
@@ -232,6 +232,13 @@ module Kettle
|
|
|
232
232
|
fetch_path("release", "target_branches") || fetch_path("branches", "release_targets") || []
|
|
233
233
|
end
|
|
234
234
|
|
|
235
|
+
def member_release_target_branches
|
|
236
|
+
targets = fetch_path("release", "member_target_branches") || {}
|
|
237
|
+
targets.to_h do |member_name, branches|
|
|
238
|
+
[member_name.to_s, Array(branches).map(&:to_s)]
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
235
242
|
def branch_lanes
|
|
236
243
|
fetch_path("branch_lanes") || fetch_path("branches", "lanes") || {}
|
|
237
244
|
end
|
|
@@ -290,7 +290,7 @@ module Kettle
|
|
|
290
290
|
end
|
|
291
291
|
|
|
292
292
|
def member_local_release_config(member)
|
|
293
|
-
BranchTargetConfig.
|
|
293
|
+
BranchTargetConfig.member_release_config(member: member, config: config)
|
|
294
294
|
end
|
|
295
295
|
|
|
296
296
|
def shared_changelog?
|
|
@@ -453,7 +453,7 @@ module Kettle
|
|
|
453
453
|
end
|
|
454
454
|
|
|
455
455
|
def member_local_release_config(member)
|
|
456
|
-
BranchTargetConfig.
|
|
456
|
+
BranchTargetConfig.member_release_config(member: member, config: config)
|
|
457
457
|
end
|
|
458
458
|
|
|
459
459
|
def checkout_branch_result(branch:, runner:)
|
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: 0.1.
|
|
4
|
+
version: 0.1.30
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -310,10 +310,10 @@ licenses:
|
|
|
310
310
|
- AGPL-3.0-only
|
|
311
311
|
metadata:
|
|
312
312
|
homepage_uri: https://kettle-family.galtzo.com
|
|
313
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v0.1.
|
|
314
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v0.1.
|
|
313
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v0.1.30
|
|
314
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v0.1.30/CHANGELOG.md
|
|
315
315
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
316
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/0.1.
|
|
316
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/0.1.30
|
|
317
317
|
funding_uri: https://github.com/sponsors/pboling
|
|
318
318
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
319
319
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|