kettle-family 1.2.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aefb679d0cc2bdabed07ed294dfe6a270a2c8739bcb11b80c1eb1a367a8c72c9
4
- data.tar.gz: c77c800317e98d86444d28ef032956d57dcfa187cb79a39b622ef266502a5a34
3
+ metadata.gz: 32b1ff960e0e144e10aecb3030c729660728827d69923dd054d923f8e58e8022
4
+ data.tar.gz: fe44fdcc8270d30c80294ed13464e5289b2182612e9af2d252137d4f08260cb3
5
5
  SHA512:
6
- metadata.gz: 77f54999801132c906f45e29b377c088e6459fa4103649a06f4e1679fee57ffa99f43c38d5af5af9dae12c9352ef027e896775c897ba077a28057122f700aa5f
7
- data.tar.gz: a213bee6bf3d05686cfe38957c47a8554190283b944037532426097a1d23285c5132a9aef20f71637305aba02421d9761ac5ae0605f8fcd59d43418d673150e8
6
+ metadata.gz: 32b3a41cab5ad9c73ff7ddbea85871fb2ee111db1cc1b2b0af20672b49cd2c29ef0ba8c14e5c1eb9ff07d296f8b3ada17f07236bbca829aa233eed7586396ac5
7
+ data.tar.gz: eb3c14717ad2c6715653c9749931b3403cc41740ec0b5cb25f7b359febce2d7652e2cd8f2ad793dcf80d5c24ae5d2c3d0765d21113a1648c8377c5a4ea07305b
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
+ ## [1.2.1] - 2026-07-28
34
+
35
+ - TAG: [v1.2.1][1.2.1t]
36
+ - COVERAGE: 93.86% -- 3561/3794 lines in 27 files
37
+ - BRANCH COVERAGE: 76.24% -- 1341/1759 branches in 27 files
38
+ - 28.10% documented
39
+
40
+ ### Fixed
41
+
42
+ - `kettle-family reset Gemfile.lock` now launches `kettle-reset` outside each
43
+ member bundle, so it can repair lockfiles that reference uninstalled
44
+ unreleased dependency versions.
45
+
33
46
  ## [1.2.0] - 2026-07-27
34
47
 
35
48
  - TAG: [v1.2.0][1.2.0t]
@@ -1163,7 +1176,9 @@ Please file a bug if you notice a violation of semantic versioning.
1163
1176
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
1164
1177
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
1165
1178
 
1166
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.0...HEAD
1179
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.1...HEAD
1180
+ [1.2.1]: https://github.com/kettle-dev/kettle-family/compare/v1.2.0...v1.2.1
1181
+ [1.2.1t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.1
1167
1182
  [1.2.0]: https://github.com/kettle-dev/kettle-family/compare/v1.1.9...v1.2.0
1168
1183
  [1.2.0t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.0
1169
1184
  [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 `bundle exec kettle-reset release-lockfiles`
461
- with configured, inferred, and path-like local `*_DEV`/`*_LOCAL` environment
462
- variables disabled. The member-level reset rewrites local sibling paths and
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.790-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
816
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.794-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
@@ -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.0"
8
+ VERSION = "1.2.1"
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
- ["bundle", "exec", "kettle-reset", "release-lockfiles"]
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:)
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.0
4
+ version: 1.2.1
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.0
345
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.0/CHANGELOG.md
344
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.1
345
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.1/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.0
347
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.1
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