kettle-family 1.2.0 → 1.2.2
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 +33 -1
- data/README.md +7 -4
- data/lib/kettle/family/report.rb +1 -1
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/workflow.rb +53 -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: ddcf479118174c5d73c7e38cb2302228892c6839d03f92470f9c10dd6709ec02
|
|
4
|
+
data.tar.gz: 0ad307c778e0f8d5b717a65fdc4bc9c37c335c9c209a31666b5749dc1405b870
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3f2342cbfa65d51517bbb7325a743e7b48f40b1c8af410685f61ec0e9e76c747576d8454070835127db94217454372a8ad2c6dbddb48ca21740aab62a6e36290
|
|
7
|
+
data.tar.gz: 289dd394d9566713f7bc6b1718b944344d353c92b2377bfc588b0045453b1ee3f0af693b75129636d2bfd0cee17585afaeaef2076bb20284b5e7e7dac309123e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,34 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.2.2] - 2026-07-28
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.2.2][1.2.2t]
|
|
36
|
+
- COVERAGE: 93.87% -- 3569/3802 lines in 27 files
|
|
37
|
+
- BRANCH COVERAGE: 76.29% -- 1345/1763 branches in 27 files
|
|
38
|
+
- 28.10% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- `kettle-family template` now runs the `kettle-jem prepare` phase through the
|
|
43
|
+
same member bundle shape as `kettle-jem install`, so local template-stack
|
|
44
|
+
overrides are honored during preparation.
|
|
45
|
+
- Failed template preparation event streams are now summarized instead of being
|
|
46
|
+
dumped raw into the final text report.
|
|
47
|
+
|
|
48
|
+
## [1.2.1] - 2026-07-28
|
|
49
|
+
|
|
50
|
+
- TAG: [v1.2.1][1.2.1t]
|
|
51
|
+
- COVERAGE: 93.86% -- 3561/3794 lines in 27 files
|
|
52
|
+
- BRANCH COVERAGE: 76.24% -- 1341/1759 branches in 27 files
|
|
53
|
+
- 28.10% documented
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
- `kettle-family reset Gemfile.lock` now launches `kettle-reset` outside each
|
|
58
|
+
member bundle, so it can repair lockfiles that reference uninstalled
|
|
59
|
+
unreleased dependency versions.
|
|
60
|
+
|
|
33
61
|
## [1.2.0] - 2026-07-27
|
|
34
62
|
|
|
35
63
|
- TAG: [v1.2.0][1.2.0t]
|
|
@@ -1163,7 +1191,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1163
1191
|
- Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
|
|
1164
1192
|
- Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
|
|
1165
1193
|
|
|
1166
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.
|
|
1194
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.2...HEAD
|
|
1195
|
+
[1.2.2]: https://github.com/kettle-dev/kettle-family/compare/v1.2.1...v1.2.2
|
|
1196
|
+
[1.2.2t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.2
|
|
1197
|
+
[1.2.1]: https://github.com/kettle-dev/kettle-family/compare/v1.2.0...v1.2.1
|
|
1198
|
+
[1.2.1t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.1
|
|
1167
1199
|
[1.2.0]: https://github.com/kettle-dev/kettle-family/compare/v1.1.9...v1.2.0
|
|
1168
1200
|
[1.2.0t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.0
|
|
1169
1201
|
[1.1.9]: https://github.com/kettle-dev/kettle-family/compare/v1.1.8...v1.1.9
|
data/README.md
CHANGED
|
@@ -457,9 +457,12 @@ kettle-family reset Gemfile.lock
|
|
|
457
457
|
kettle-family reset Gemfile.lock --execute
|
|
458
458
|
```
|
|
459
459
|
|
|
460
|
-
`reset Gemfile.lock` runs each member's `
|
|
461
|
-
with configured, inferred, and
|
|
462
|
-
variables disabled. The
|
|
460
|
+
`reset Gemfile.lock` runs each member's `kettle-reset release-lockfiles`
|
|
461
|
+
through an unbundled `bundler/inline` helper, with configured, inferred, and
|
|
462
|
+
path-like local `*_DEV`/`*_LOCAL` environment variables disabled. The helper
|
|
463
|
+
declares its own `kettle-dev` dependency from `https://gem.coop`, so reset can
|
|
464
|
+
repair a member even when its current lockfile is too broken for `bundle exec`
|
|
465
|
+
to materialize. The member-level reset rewrites local sibling paths and
|
|
463
466
|
checksum-less local gem versions back to released registry versions with
|
|
464
467
|
`sha256=` checksums in `Gemfile.lock` and `Appraisal.root.gemfile.lock`.
|
|
465
468
|
Executed family resets fail if the resulting lockfiles still contain sibling
|
|
@@ -810,7 +813,7 @@ Thanks for RTFM. ☺️
|
|
|
810
813
|
[📌gitmoji]: https://gitmoji.dev
|
|
811
814
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
812
815
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
813
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.
|
|
816
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.802-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
814
817
|
[🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
|
|
815
818
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
816
819
|
[📄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/report.rb
CHANGED
|
@@ -193,7 +193,7 @@ module Kettle
|
|
|
193
193
|
end
|
|
194
194
|
|
|
195
195
|
def template_event_stdout?(result)
|
|
196
|
-
command == "template" &&
|
|
196
|
+
command == "template" && template_events(result.stdout).any?
|
|
197
197
|
end
|
|
198
198
|
|
|
199
199
|
def release_event_stdout?(result)
|
|
@@ -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.2"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
|
@@ -5,6 +5,7 @@ require "json"
|
|
|
5
5
|
require "net/http"
|
|
6
6
|
require "etc"
|
|
7
7
|
require "open3"
|
|
8
|
+
require "rbconfig"
|
|
8
9
|
require "shellwords"
|
|
9
10
|
require "uri"
|
|
10
11
|
require "yaml"
|
|
@@ -77,6 +78,23 @@ module Kettle
|
|
|
77
78
|
"BUNDLE_SILENCE_ROOT_WARNING" => "true",
|
|
78
79
|
"BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES" => "true"
|
|
79
80
|
}.freeze
|
|
81
|
+
RESET_LOCKFILE_HELPER = <<~RUBY
|
|
82
|
+
require "bundler/inline"
|
|
83
|
+
|
|
84
|
+
source_url = ENV.fetch("KETTLE_FAMILY_RESET_GEM_SOURCE", "https://gem.coop")
|
|
85
|
+
kettle_dev_version = ENV["KETTLE_FAMILY_RESET_KETTLE_DEV_VERSION"].to_s
|
|
86
|
+
|
|
87
|
+
gemfile(true) do
|
|
88
|
+
source source_url
|
|
89
|
+
if kettle_dev_version.empty?
|
|
90
|
+
gem "kettle-dev"
|
|
91
|
+
else
|
|
92
|
+
gem "kettle-dev", kettle_dev_version
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
load Gem.bin_path("kettle-dev", "kettle-reset")
|
|
97
|
+
RUBY
|
|
80
98
|
REGISTRY_WAIT_ATTEMPTS = 15
|
|
81
99
|
REGISTRY_WAIT_INTERVAL_SECONDS = 15
|
|
82
100
|
|
|
@@ -712,7 +730,27 @@ module Kettle
|
|
|
712
730
|
end
|
|
713
731
|
|
|
714
732
|
def reset_gemfile_lock_command(member)
|
|
715
|
-
[
|
|
733
|
+
[
|
|
734
|
+
"env",
|
|
735
|
+
"-u",
|
|
736
|
+
"BUNDLE_BIN_PATH",
|
|
737
|
+
"-u",
|
|
738
|
+
"BUNDLE_FROZEN",
|
|
739
|
+
"-u",
|
|
740
|
+
"BUNDLE_GEMFILE",
|
|
741
|
+
"-u",
|
|
742
|
+
"BUNDLER_VERSION",
|
|
743
|
+
"-u",
|
|
744
|
+
"RUBYOPT",
|
|
745
|
+
reset_helper_ruby,
|
|
746
|
+
"-e",
|
|
747
|
+
RESET_LOCKFILE_HELPER,
|
|
748
|
+
"release-lockfiles"
|
|
749
|
+
]
|
|
750
|
+
end
|
|
751
|
+
|
|
752
|
+
def reset_helper_ruby
|
|
753
|
+
env_overrides["KETTLE_FAMILY_RESET_RUBY"].to_s.empty? ? RbConfig.ruby : env_overrides["KETTLE_FAMILY_RESET_RUBY"].to_s
|
|
716
754
|
end
|
|
717
755
|
|
|
718
756
|
def validate_reset_gemfile_lock(member:, memo:)
|
|
@@ -1267,11 +1305,24 @@ module Kettle
|
|
|
1267
1305
|
end
|
|
1268
1306
|
|
|
1269
1307
|
def template_prepare_command(member)
|
|
1270
|
-
command_text =
|
|
1308
|
+
command_text = template_prepare_command_from(config.template_command || default_template_command(member))
|
|
1271
1309
|
command_text = append_template_family_args(command_text)
|
|
1272
1310
|
append_template_skip_commit(command_text)
|
|
1273
1311
|
end
|
|
1274
1312
|
|
|
1313
|
+
def template_prepare_command_from(command_text)
|
|
1314
|
+
if command_text.is_a?(Array)
|
|
1315
|
+
argv = command_text.map(&:to_s)
|
|
1316
|
+
index = argv.index("install")
|
|
1317
|
+
return argv unless index
|
|
1318
|
+
|
|
1319
|
+
argv[index] = "prepare"
|
|
1320
|
+
argv
|
|
1321
|
+
else
|
|
1322
|
+
command_text.to_s.sub(/\bkettle-jem\s+install\b/, "kettle-jem prepare")
|
|
1323
|
+
end
|
|
1324
|
+
end
|
|
1325
|
+
|
|
1275
1326
|
def append_template_skip_commit(command_text)
|
|
1276
1327
|
return command_text if commit
|
|
1277
1328
|
return command_text if command_text.is_a?(Array) && command_text.include?("--skip-commit")
|
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.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -341,10 +341,10 @@ licenses:
|
|
|
341
341
|
- AGPL-3.0-only
|
|
342
342
|
metadata:
|
|
343
343
|
homepage_uri: https://kettle-family.galtzo.com
|
|
344
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.
|
|
345
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.
|
|
344
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.2
|
|
345
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.2/CHANGELOG.md
|
|
346
346
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
347
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.
|
|
347
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.2
|
|
348
348
|
funding_uri: https://github.com/sponsors/pboling
|
|
349
349
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
350
350
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|