kettle-family 1.1.2 → 1.1.3
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 +17 -1
- data/README.md +1 -1
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.rb +23 -3
- data/lib/kettle/family/workflow_progress.rb +32 -7
- 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: 53651b9cbe7d3c64eda1e0f80785d000d4e23823889c74f659e4bcd2edfffa81
|
|
4
|
+
data.tar.gz: b78bb0de6265e03f946d49af2421fc40c725cf58b8979c3268e668d7d83c7792
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0087aedaeb1a08c30c980bbe9a30fd49810fe17455be5dff10889977d355fab85d09246a5f9666759fbd715d735c26ab117755cec4103a663bba67315ed8aaf2'
|
|
7
|
+
data.tar.gz: 524612b74a7af22d90bb5661c8a18ae40bdee325faee1d61cbe738ad3d8b589e969d7b74e5b30bba9807284fd23919eeb2d4daa23bf46d1c2e116ef4b45ffff3
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,20 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.1.3] - 2026-07-23
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.1.3][1.1.3t]
|
|
36
|
+
- COVERAGE: 94.44% -- 2987/3163 lines in 25 files
|
|
37
|
+
- BRANCH COVERAGE: 76.40% -- 1078/1411 branches in 25 files
|
|
38
|
+
- 28.68% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- No-config single-member templating no longer injects a synthetic family-local
|
|
43
|
+
path environment pointing at the member root.
|
|
44
|
+
- Template and release progress now keep each member locked to its own TTY row
|
|
45
|
+
while parallel workers report events out of order.
|
|
46
|
+
|
|
33
47
|
## [1.1.2] - 2026-07-23
|
|
34
48
|
|
|
35
49
|
- TAG: [v1.1.2][1.1.2t]
|
|
@@ -937,7 +951,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
937
951
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
938
952
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
939
953
|
|
|
940
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.
|
|
954
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.3...HEAD
|
|
955
|
+
[1.1.3]: https://github.com/kettle-dev/kettle-family/compare/v1.1.2...v1.1.3
|
|
956
|
+
[1.1.3t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.3
|
|
941
957
|
[1.1.2]: https://github.com/kettle-dev/kettle-family/compare/v1.1.1...v1.1.2
|
|
942
958
|
[1.1.2t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.2
|
|
943
959
|
[1.1.1]: https://github.com/kettle-dev/kettle-family/compare/v1.1.0...v1.1.1
|
data/README.md
CHANGED
|
@@ -669,7 +669,7 @@ Thanks for RTFM. ☺️
|
|
|
669
669
|
[📌gitmoji]: https://gitmoji.dev
|
|
670
670
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
671
671
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
672
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.
|
|
672
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.163-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
673
673
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
674
674
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
675
675
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -1096,7 +1096,7 @@ module Kettle
|
|
|
1096
1096
|
|
|
1097
1097
|
def workflow_env
|
|
1098
1098
|
{}.tap do |env|
|
|
1099
|
-
env.merge!(
|
|
1099
|
+
env.merge!(workflow_family_local_path_env)
|
|
1100
1100
|
if command == "template"
|
|
1101
1101
|
env["KETTLE_JEM_TEMPLATE_PROFILE"] = config.template_profile if config.template_profile
|
|
1102
1102
|
env["KJ_REPOSITORY_TOPOLOGY"] = config.template_repository_topology if config.template_repository_topology
|
|
@@ -1115,6 +1115,24 @@ module Kettle
|
|
|
1115
1115
|
end
|
|
1116
1116
|
end
|
|
1117
1117
|
|
|
1118
|
+
def workflow_family_local_path_env
|
|
1119
|
+
return {} if implicit_single_member_template_root?
|
|
1120
|
+
|
|
1121
|
+
config.family_local_path_env
|
|
1122
|
+
end
|
|
1123
|
+
|
|
1124
|
+
def implicit_single_member_template_root?
|
|
1125
|
+
return false unless command == "template"
|
|
1126
|
+
return false if config.path
|
|
1127
|
+
return false unless config.family_mode == "monorepo"
|
|
1128
|
+
return false unless members.one?
|
|
1129
|
+
return false unless File.expand_path(config.members_root) == File.expand_path(config.root)
|
|
1130
|
+
return false unless File.expand_path(members.first.root) == File.expand_path(config.root)
|
|
1131
|
+
|
|
1132
|
+
family_env_name = config.family_local_path_env_name
|
|
1133
|
+
family_env_name && !env_overrides.key?(family_env_name)
|
|
1134
|
+
end
|
|
1135
|
+
|
|
1118
1136
|
def command_env
|
|
1119
1137
|
return bundle_update_env if %w[bup bupb].include?(command)
|
|
1120
1138
|
|
|
@@ -1160,7 +1178,8 @@ module Kettle
|
|
|
1160
1178
|
io: progress_io,
|
|
1161
1179
|
label: "templating",
|
|
1162
1180
|
total: workflow_members.length,
|
|
1163
|
-
jobs: template_jobs(workflow_members)
|
|
1181
|
+
jobs: template_jobs(workflow_members),
|
|
1182
|
+
members: workflow_members
|
|
1164
1183
|
)
|
|
1165
1184
|
progress.start
|
|
1166
1185
|
progress
|
|
@@ -1171,7 +1190,8 @@ module Kettle
|
|
|
1171
1190
|
io: progress_io,
|
|
1172
1191
|
label: release_progress_label,
|
|
1173
1192
|
total: release_members.length,
|
|
1174
|
-
jobs: release_jobs(release_members)
|
|
1193
|
+
jobs: release_jobs(release_members),
|
|
1194
|
+
members: release_members
|
|
1175
1195
|
)
|
|
1176
1196
|
progress.start
|
|
1177
1197
|
progress
|
|
@@ -8,24 +8,34 @@ module Kettle
|
|
|
8
8
|
FORMAT = "%<member>-24s :events :status"
|
|
9
9
|
EVENT_WIDTH = 30
|
|
10
10
|
|
|
11
|
-
def initialize(io:, label:, total:, jobs:, enabled: true)
|
|
11
|
+
def initialize(io:, label:, total:, jobs:, members: [], enabled: true)
|
|
12
12
|
@io = io
|
|
13
13
|
@label = label
|
|
14
14
|
@total = total.to_i
|
|
15
15
|
@jobs = jobs.to_i
|
|
16
16
|
@enabled = enabled && !!io
|
|
17
17
|
@bars = {}
|
|
18
|
+
@line_order = members.map(&:name)
|
|
19
|
+
@started = false
|
|
20
|
+
@stopped = false
|
|
18
21
|
@member_totals = {}
|
|
19
22
|
@member_events = Hash.new("")
|
|
23
|
+
@member_statuses = Hash.new("")
|
|
20
24
|
@mutex = Mutex.new
|
|
21
25
|
@tty = @enabled && io.respond_to?(:tty?) && io.tty?
|
|
22
|
-
@multibar = @tty ? TTY::ProgressBar::Multi.new(output: io) : nil
|
|
26
|
+
@multibar = @tty ? TTY::ProgressBar::Multi.new(output: io, frequency: 0) : nil
|
|
23
27
|
end
|
|
24
28
|
|
|
25
29
|
def start
|
|
26
30
|
return unless @enabled
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
synchronize do
|
|
33
|
+
next if @started
|
|
34
|
+
|
|
35
|
+
write_line("#{@label} #{@total} member#{plural(@total)} with #{@jobs} job#{plural(@jobs)}:")
|
|
36
|
+
@started = true
|
|
37
|
+
@line_order.each { |member_name| render_name(member_name, status: "") } if @tty
|
|
38
|
+
end
|
|
29
39
|
end
|
|
30
40
|
|
|
31
41
|
def start_member(member, total:, status:)
|
|
@@ -84,7 +94,12 @@ module Kettle
|
|
|
84
94
|
def stop
|
|
85
95
|
return unless @enabled
|
|
86
96
|
|
|
87
|
-
synchronize
|
|
97
|
+
synchronize do
|
|
98
|
+
next if @stopped
|
|
99
|
+
|
|
100
|
+
@multibar&.stop
|
|
101
|
+
@stopped = true
|
|
102
|
+
end
|
|
88
103
|
end
|
|
89
104
|
|
|
90
105
|
def tty?
|
|
@@ -103,7 +118,7 @@ module Kettle
|
|
|
103
118
|
private
|
|
104
119
|
|
|
105
120
|
def render(member, status:)
|
|
106
|
-
|
|
121
|
+
render_name(member.name, status: status)
|
|
107
122
|
end
|
|
108
123
|
|
|
109
124
|
def append_event(member, mark)
|
|
@@ -116,8 +131,18 @@ module Kettle
|
|
|
116
131
|
@member_events[member.name].rjust(EVENT_WIDTH)
|
|
117
132
|
end
|
|
118
133
|
|
|
119
|
-
def
|
|
120
|
-
@
|
|
134
|
+
def render_name(member_name, status:)
|
|
135
|
+
@member_statuses[member_name] = status
|
|
136
|
+
@line_order << member_name unless @line_order.include?(member_name)
|
|
137
|
+
bar_for(member_name).advance(
|
|
138
|
+
0,
|
|
139
|
+
events: @member_events[member_name].rjust(EVENT_WIDTH),
|
|
140
|
+
status: @member_statuses[member_name]
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def bar_for(member_name)
|
|
145
|
+
@bars[member_name] ||= @multibar.register(Kernel.format(FORMAT, member: member_name), total: nil)
|
|
121
146
|
end
|
|
122
147
|
|
|
123
148
|
def plural(count)
|
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.1.
|
|
4
|
+
version: 1.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -319,10 +319,10 @@ licenses:
|
|
|
319
319
|
- AGPL-3.0-only
|
|
320
320
|
metadata:
|
|
321
321
|
homepage_uri: https://kettle-family.galtzo.com
|
|
322
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.1.
|
|
323
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.
|
|
322
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.1.3
|
|
323
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.3/CHANGELOG.md
|
|
324
324
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
325
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.1.
|
|
325
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.1.3
|
|
326
326
|
funding_uri: https://github.com/sponsors/pboling
|
|
327
327
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
328
328
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|