kettle-dev 3.0.30 → 3.0.31

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: d32d5afad3273769c6866465e43835b68691702c67e7de114aa0c641e5ba98e4
4
- data.tar.gz: 182991a2de8eb82855285724435c3430a2dd52759838efbf11543061eb4336b4
3
+ metadata.gz: 8793d6f66be47b9b55bc6dd2b7dce86a6b80e5b66c3a7f3a8b23356d34dbafde
4
+ data.tar.gz: a15e9ab1030f1d875cf9b2f5cf13c8d271754a51a97f20dcb930ab28fc5e3eab
5
5
  SHA512:
6
- metadata.gz: 29ad4b57bc12dc971e7132a46c52a6c33492838673d53f35c4dafb7a30c915383002365ab65fc7cf0350e35a5d8bb35ce0764c2cc33913f859c9fad49e9b467a
7
- data.tar.gz: 82ab1755611b6d7f645ab573554f18030766a76a07f93e8e2a9af866ec2eadb2b36426d104142de457ca6af26b4eb05df4516978a77b19de2209057de315f508
6
+ metadata.gz: 610789813bbdefc88abf9f708f80b66ceb7441ae9cab53bd579289a2d94668c90dd94435185ff629a6ec625da50c465b6bde1d13a1cc31c796857808c4c8fa47
7
+ data.tar.gz: 375cf47db46bc26f3bace6b2cd03c0f3078e8af1735c2012abeb494451dcdcadfd1dac9f857d9fb8a6e8d95564a7d6a4f7631fa3936956cdafb4a4e8490d3016
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
+ ## [3.0.31] - 2026-09-06
34
+
35
+ - TAG: [v3.0.31][3.0.31t]
36
+ - COVERAGE: 91.85% -- 6060/6598 lines in 47 files
37
+ - BRANCH COVERAGE: 76.33% -- 2315/3033 branches in 47 files
38
+ - 50.00% documented
39
+
40
+ ### Fixed
41
+
42
+ - Preserve every configured Bundler lockfile platform when resetting release lockfiles.
43
+
44
+ - Materialize normalized release bundles before running bundle-exec release checks.
45
+
33
46
  ## [3.0.30] - 2026-09-01
34
47
 
35
48
  - TAG: [v3.0.30][3.0.30t]
@@ -3799,7 +3812,9 @@ Please file a bug if you notice a violation of semantic versioning.
3799
3812
  - Selecting will run the selected workflow via `act`
3800
3813
  - This may move to its own gem in the future.
3801
3814
 
3802
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.30...HEAD
3815
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.31...HEAD
3816
+ [3.0.31]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.30...v3.0.31
3817
+ [3.0.31t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.31
3803
3818
  [3.0.30]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.29...v3.0.30
3804
3819
  [3.0.30t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.30
3805
3820
  [3.0.29]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.28...v3.0.29
data/README.md CHANGED
@@ -1066,7 +1066,7 @@ Thanks for RTFM. ☺️
1066
1066
  [📌gitmoji]: https://gitmoji.dev
1067
1067
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1068
1068
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1069
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.586-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1069
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.598-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1070
1070
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1071
1071
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1072
1072
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -202,12 +202,10 @@ module Kettle
202
202
  command << " #{key}=#{Shellwords.escape(value)}"
203
203
  end
204
204
  command << " bundle lock"
205
- removed_platforms.sort.each do |platform|
206
- command << " --remove-platform=#{Shellwords.escape(platform)}"
207
- end
208
- platforms.each do |platform|
209
- command << " --add-platform=#{Shellwords.escape(platform)}"
210
- end
205
+ # Bundler accepts each platform option once followed by a list. Repeating
206
+ # either option silently keeps only the final occurrence with Bundler 4.
207
+ command << " --remove-platform #{removed_platforms.sort.map { |platform| Shellwords.escape(platform) }.join(" ")}" unless removed_platforms.empty?
208
+ command << " --add-platform #{platforms.map { |platform| Shellwords.escape(platform) }.join(" ")}" unless platforms.empty?
211
209
  command << " --update"
212
210
  command << " #{update_gems.map { |gem_name| Shellwords.escape(gem_name) }.join(" ")}" unless update_gems.empty?
213
211
  # Bundler preserves BUNDLED WITH during a normal lockfile update.
@@ -266,7 +266,10 @@ module Kettle
266
266
  # to collect coverage. Normalize its canonical release lockfile before
267
267
  # that subprocess starts; otherwise a local development PATH lock can
268
268
  # force Bundler to resolve an invalid mixed local/released graph.
269
- prepare_release_lockfiles_for_release_tasks! if release_lockfile_preflight_needed?
269
+ if release_lockfile_preflight_needed?
270
+ prepare_release_lockfiles_for_release_tasks!
271
+ materialize_release_lockfiles_for_release_tasks!
272
+ end
270
273
  run_pre_release_checks! if run_step?(0)
271
274
 
272
275
  # 1. Ensure Bundler version and record its current release in the
@@ -752,6 +755,36 @@ module Kettle
752
755
  reset_release_lockfiles!(stage: "before release task bundle installs")
753
756
  end
754
757
 
758
+ # Resetting can select a platform-specific artifact that is not installed
759
+ # in the invoking development bundle. Materialize every canonical release
760
+ # bundle before a release gate runs `bundle exec`. Use a disposable copy:
761
+ # Bundler may reconcile the active host platform during installation, and
762
+ # that must never alter the canonical release-preparation lockfile.
763
+ def materialize_release_lockfiles_for_release_tasks!
764
+ release_lockfile_paths.each do |lockfile|
765
+ gemfile = release_gemfile_for_lockfile(lockfile)
766
+ next unless gemfile && File.file?(gemfile)
767
+
768
+ begin
769
+ stage = "before release task bundle installs"
770
+ task_lockfile = release_task_lockfile_path(gemfile: gemfile)
771
+ emit_release_lockfile_event(action: "install", status: "started", stage: stage, reason: File.basename(gemfile))
772
+ puts "Installing normalized release bundle for #{File.basename(gemfile)}..."
773
+ run_cmd!(release_child_command(
774
+ "bundle install",
775
+ environment: {
776
+ "BUNDLE_GEMFILE" => gemfile,
777
+ "BUNDLE_LOCKFILE" => task_lockfile || lockfile
778
+ }
779
+ ))
780
+ emit_release_lockfile_event(action: "install", status: "ok", stage: stage, reason: File.basename(gemfile))
781
+ rescue => error
782
+ emit_release_lockfile_event(action: "install", status: "failed", stage: stage, reason: error.message)
783
+ raise
784
+ end
785
+ end
786
+ end
787
+
755
788
  def reset_release_lockfiles!(stage:)
756
789
  return if @release_lockfiles_reset_for_release_tasks && stage == "before release task bundle installs"
757
790
 
@@ -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.30"
8
+ VERSION = "3.0.31"
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.30
4
+ version: 3.0.31
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.30
404
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.30/CHANGELOG.md
403
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.31
404
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.31/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.30
406
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.31
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