kettle-dev 3.0.7 → 3.0.8

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: a3fdb8abe3a10685ec3e0fc37d17a0c0b5f85ed834ba85c8863e34e0bd64e5f9
4
- data.tar.gz: 6261b1b044c0c301c219f5c2c9a0d2e6260b5b231784d49e75fc9e3ae12f536a
3
+ metadata.gz: 7124072093bb694c91e9f06b63821090cb992e1a8747f3f83e212a6b927dc25c
4
+ data.tar.gz: 861518ad52298f44bc8f76b9d6f4dbb5e9c11c80c4d97bf2c087d6e0ea20d90c
5
5
  SHA512:
6
- metadata.gz: 2a33c7c722b54f372053469108187e4aab0fb0135633870fc78f33364d85e37c7ef41bf3db95e5a0d571881f8aba735262ff11327a57ba62964dbe66c5007808
7
- data.tar.gz: 05f5b29d1459e646224fad07bfe1ac0c0987e594a68c829014311ac4ef02ebc52fbdf922e7c23f14f56ca92feedd87a2bce055fb5e809ff1cf10a49fd32e7eac
6
+ metadata.gz: 0f823bf26a24fcfcd3b52179dd960f9226c985a9cfc2d6962364dac67d329e6aa21e876f1bcf97a43e2e66158707d11325a56bb1d41d1327fdf4ecac977c4bce
7
+ data.tar.gz: 356bc62c3d680808bd5f89a73427dbfaac36157b29dabbe59bc584b37bc8a2aeaa0d62fd2d9198a32f1e0f8b3dc068b722e00214ae9b26a6e053bc60305c295b
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- ����;"x�X\0�ť��.���$��$Ϲ���/�TX�3��G]D0<�k�^5��QFvr� �" �R-|���ڴ�\�qg1_e)�d�b��8 #
2
- +-<#�D#��?:^K�u6y����<E�\�/����+� �k�y��Ou�:�}���{`.�y���Kt��Jwpbk�r,դ�.1�^$�ʬk���e���p��k&� s/z�~�'>6*j��7� ���)���}��T��R�d)�y�/Ij������JV�P���U�����~r��� ��.b!�|F�����'q�QӠ��س|q��ȗy��Ԇƨ����_�X��An���w��}&�8_������h�e�F��)W(� ��},dΫnuX���X��
1
+ ('�ƿk@�;#tl:�����@�� ����d��o2ߒ����1���|�\����H��#?�#�%U�їT����l�ph/��S��Pr3��CS>=��S+���c<�
2
+ E� �!��@[�eg��}'#�_�?�y{�>�
data/CHANGELOG.md CHANGED
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.0.8] - 2026-08-23
34
+
35
+ - TAG: [v3.0.8][3.0.8t]
36
+ - COVERAGE: 91.36% -- 5679/6216 lines in 47 files
37
+ - BRANCH COVERAGE: 76.24% -- 2169/2845 branches in 47 files
38
+ - 50.62% documented
39
+
40
+ ### Fixed
41
+
42
+ - Release lockfile normalization now resolves in isolated gem paths, preventing unreleased locally installed versions from entering release lockfiles.
43
+
33
44
  ## [3.0.7] - 2026-08-15
34
45
 
35
46
  - TAG: [v3.0.7][3.0.7t]
@@ -3494,7 +3505,9 @@ Please file a bug if you notice a violation of semantic versioning.
3494
3505
  - Selecting will run the selected workflow via `act`
3495
3506
  - This may move to its own gem in the future.
3496
3507
 
3497
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.7...HEAD
3508
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.8...HEAD
3509
+ [3.0.8]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.7...v3.0.8
3510
+ [3.0.8t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.8
3498
3511
  [3.0.7]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.6...v3.0.7
3499
3512
  [3.0.7t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.7
3500
3513
  [3.0.6]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.5...v3.0.6
data/README.md CHANGED
@@ -993,7 +993,7 @@ Thanks for RTFM. ☺️
993
993
  [📌gitmoji]: https://gitmoji.dev
994
994
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
995
995
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
996
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.207-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
996
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.216-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
997
997
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
998
998
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
999
999
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -4,6 +4,7 @@ require "set"
4
4
  require "shellwords"
5
5
  require "fileutils"
6
6
  require "open3"
7
+ require "tmpdir"
7
8
  require "bundler"
8
9
 
9
10
  require_relative "bundler_env_guard"
@@ -60,15 +61,23 @@ module Kettle
60
61
  return
61
62
  end
62
63
 
63
- command = reset_command(path: path, gemfile: gemfile, full_update: full_update, platforms: platforms)
64
- if full_update || has_local_path_remote?(path)
65
- rebuild_lockfile(path) { command_runner.call(command) }
66
- else
67
- command_runner.call(command)
64
+ with_isolated_gem_paths do |gem_home|
65
+ command = reset_command(
66
+ path: path,
67
+ gemfile: gemfile,
68
+ full_update: full_update,
69
+ platforms: platforms,
70
+ isolated_gem_home: gem_home
71
+ )
72
+ if full_update || has_local_path_remote?(path)
73
+ rebuild_lockfile(path) { command_runner.call(command) }
74
+ else
75
+ command_runner.call(command)
76
+ end
68
77
  end
69
78
  end
70
79
 
71
- def reset_command(path:, gemfile:, full_update: false, platforms: nil)
80
+ def reset_command(path:, gemfile:, full_update: false, platforms: nil, isolated_gem_home: nil)
72
81
  update_gems = (full_update || has_local_path_remote?(path)) ? [] : reset_update_gems(path)
73
82
  platforms ||= reset_platforms(path)
74
83
  removed_platforms = full_update ? [] : lockfile_platforms(path) - platforms
@@ -76,6 +85,10 @@ module Kettle
76
85
  "BUNDLE_GEMFILE" => gemfile,
77
86
  "BUNDLE_LOCKFILE" => path
78
87
  )
88
+ if isolated_gem_home
89
+ env["GEM_HOME"] = isolated_gem_home
90
+ env["GEM_PATH"] = isolated_gem_home
91
+ end
79
92
  command = +"env"
80
93
  UNBUNDLED_ENV_KEYS.each do |key|
81
94
  command << " -u #{key}"
@@ -319,6 +332,12 @@ module Kettle
319
332
 
320
333
  attr_reader :root, :command_runner
321
334
 
335
+ def with_isolated_gem_paths
336
+ base = File.join(root, "tmp", "kettle-reset")
337
+ FileUtils.mkdir_p(base)
338
+ Dir.mktmpdir("gem-home-", base) { |gem_home| yield(gem_home) }
339
+ end
340
+
322
341
  def lockfile_parser(path)
323
342
  # Bundler validates checksum digest syntax while parsing, but this class
324
343
  # only needs Bundler's source model here. Keep checksum diagnostics in
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "3.0.7"
8
+ VERSION = "3.0.8"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.7
4
+ version: 3.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -400,10 +400,10 @@ licenses:
400
400
  - AGPL-3.0-only
401
401
  metadata:
402
402
  homepage_uri: https://kettle-dev.galtzo.com
403
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.7
404
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.7/CHANGELOG.md
403
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.8
404
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.8/CHANGELOG.md
405
405
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
406
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.7
406
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.8
407
407
  funding_uri: https://github.com/sponsors/pboling
408
408
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
409
409
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file