kettle-family 1.1.3 → 1.1.4

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: 53651b9cbe7d3c64eda1e0f80785d000d4e23823889c74f659e4bcd2edfffa81
4
- data.tar.gz: b78bb0de6265e03f946d49af2421fc40c725cf58b8979c3268e668d7d83c7792
3
+ metadata.gz: eafb1c2637486f15a03b2dc3b00c2218033969abfd1bb8f3cebf6365656d9a1b
4
+ data.tar.gz: fdf90e5eefa73eb2ab307cbae5e50eab961979de00df2bdc64e3da834a90d84b
5
5
  SHA512:
6
- metadata.gz: '0087aedaeb1a08c30c980bbe9a30fd49810fe17455be5dff10889977d355fab85d09246a5f9666759fbd715d735c26ab117755cec4103a663bba67315ed8aaf2'
7
- data.tar.gz: 524612b74a7af22d90bb5661c8a18ae40bdee325faee1d61cbe738ad3d8b589e969d7b74e5b30bba9807284fd23919eeb2d4daa23bf46d1c2e116ef4b45ffff3
6
+ metadata.gz: 4bbbc81d57861465081de1ae16a75a22f68ad13e981aefdd7c4e1a936841af24592da9d12256d6b37d9ebb30d8d625ba1fba3c2ba885e1a8ad04696d18563c47
7
+ data.tar.gz: 9fcac93653c0b932552e55f62e646f7d308f3b5a195c42c90d704304472a9e8373e7e5ed13560180c5f0496c04e27e8e8f9464f72f213987f19e4e045db5797c
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.4] - 2026-07-24
34
+
35
+ - TAG: [v1.1.4][1.1.4t]
36
+ - COVERAGE: 94.56% -- 2972/3143 lines in 25 files
37
+ - BRANCH COVERAGE: 76.69% -- 1076/1403 branches in 25 files
38
+ - 28.68% documented
39
+
40
+ ### Fixed
41
+
42
+ - Dependency floor propagation after a sibling release now retries
43
+ `bundle update <released-gem>` before committing floor changes, so dependents
44
+ wait for Bundler to install the just-published gem and write valid lockfile
45
+ checksums.
46
+
33
47
  ## [1.1.3] - 2026-07-23
34
48
 
35
49
  - TAG: [v1.1.3][1.1.3t]
@@ -951,7 +965,9 @@ Please file a bug if you notice a violation of semantic versioning.
951
965
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
952
966
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
953
967
 
954
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.3...HEAD
968
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.4...HEAD
969
+ [1.1.4]: https://github.com/kettle-dev/kettle-family/compare/v1.1.3...v1.1.4
970
+ [1.1.4t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.4
955
971
  [1.1.3]: https://github.com/kettle-dev/kettle-family/compare/v1.1.2...v1.1.3
956
972
  [1.1.3t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.3
957
973
  [1.1.2]: https://github.com/kettle-dev/kettle-family/compare/v1.1.1...v1.1.2
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.163-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
672
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.143-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
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Family
5
5
  module Version
6
- VERSION = "1.1.3"
6
+ VERSION = "1.1.4"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
@@ -585,15 +585,13 @@ module Kettle
585
585
  mode: execute ? :execute : :dry_run
586
586
  ).results
587
587
  memo.concat(floor_results)
588
+ return if floor_results.empty?
588
589
  return if floor_results.any? && !floor_results.all?(&:ok?)
589
590
 
590
- commit_dependency_floor_changes(dependent_members: floor_results.map(&:member_name), runner: runner, memo: memo) if floor_results.any? && execute && commit
591
- return if memo.any? && !memo.last.ok?
592
-
593
- append_registry_wait_result(released_members: released_members, dependent_members: affected_dependent_members, memo: memo)
591
+ append_dependency_floor_lockfile_results(released_members: released_members, dependent_members: affected_dependent_members, runner: runner, memo: memo)
594
592
  return if memo.any? && !memo.last.ok?
595
593
 
596
- append_dependency_floor_lockfile_results(released_members: released_members, dependent_members: affected_dependent_members, runner: runner, memo: memo)
594
+ commit_dependency_floor_changes(dependent_members: floor_results.map(&:member_name), runner: runner, memo: memo) if floor_results.any? && execute && commit
597
595
  end
598
596
 
599
597
  def dependent_members_depending_on(released_members:, dependent_members:)
@@ -607,13 +605,6 @@ module Kettle
607
605
  Array(member.release_dependencies || member.dependencies).map(&:to_s)
608
606
  end
609
607
 
610
- def append_registry_wait_result(released_members:, dependent_members:, memo:)
611
- return unless execute && publish
612
- return if dependent_members.empty?
613
-
614
- memo << wait_for_registry_result(released_members: released_members, dependent_members: dependent_members)
615
- end
616
-
617
608
  def append_dependency_floor_lockfile_results(released_members:, dependent_members:, runner:, memo:)
618
609
  return unless execute && publish
619
610
  return if dependent_members.empty?
@@ -627,6 +618,7 @@ module Kettle
627
618
  def wait_for_dependency_floor_lockfiles_result(member:, released_members:, runner:)
628
619
  result = nil
629
620
  REGISTRY_WAIT_ATTEMPTS.times do |index|
621
+ emit_dependency_floor_lockfile_progress(member: member, attempt: index + 1)
630
622
  result = runner.call(
631
623
  member: member,
632
624
  phase: "dependency_floor_lockfiles",
@@ -703,7 +695,8 @@ module Kettle
703
695
  command: [
704
696
  "sh",
705
697
  "-lc",
706
- "if ! git diff --quiet -- '*.gemspec'; then git add -- '*.gemspec' && git commit -m '⬆️ Raise family dependency floors'; fi"
698
+ "files=$(git ls-files --modified --others --exclude-standard -- '*.gemspec' Gemfile.lock); " \
699
+ "if [ -n \"$files\" ]; then git add -- $files && git commit -m '⬆️ Raise family dependency floors'; fi"
707
700
  ]
708
701
  )
709
702
  break unless memo.last.ok?
@@ -873,48 +866,8 @@ module Kettle
873
866
  raise Error, "could not parse published versions for #{gem_name}: #{error.message}"
874
867
  end
875
868
 
876
- def wait_for_registry_result(released_members:, dependent_members:)
877
- started_at = Process.clock_gettime(Process::CLOCK_MONOTONIC)
878
- missing = []
879
- attempts = 0
880
- REGISTRY_WAIT_ATTEMPTS.times do |index|
881
- attempts = index + 1
882
- missing = released_members.reject { |member| released_version?(member.name, member.version) }
883
- break if missing.empty?
884
-
885
- sleep(REGISTRY_WAIT_INTERVAL_SECONDS) if attempts < REGISTRY_WAIT_ATTEMPTS
886
- end
887
- elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - started_at
888
- dependency_names = dependent_members.map(&:name).join(", ")
889
- if missing.empty?
890
- CommandResult.new(
891
- member_name: dependency_names,
892
- phase: "release_wait_for_registry",
893
- command: ["internal", "wait-for-registry", released_members.map { |member| "#{member.name}-#{member.version}" }.join(",")],
894
- workdir: config.root,
895
- status: 0,
896
- success: true,
897
- stdout: "registry contains #{released_members.map { |member| "#{member.name} #{member.version}" }.join(", ")} after #{attempts} check(s)",
898
- stderr: "",
899
- elapsed_seconds: elapsed,
900
- skipped: false,
901
- reason: "dependent members: #{dependency_names}"
902
- )
903
- else
904
- CommandResult.new(
905
- member_name: dependency_names,
906
- phase: "release_wait_for_registry",
907
- command: ["internal", "wait-for-registry", released_members.map { |member| "#{member.name}-#{member.version}" }.join(",")],
908
- workdir: config.root,
909
- status: 1,
910
- success: false,
911
- stdout: "timed out waiting for #{missing.map { |member| "#{member.name} #{member.version}" }.join(", ")} after #{attempts} check(s)",
912
- stderr: "",
913
- elapsed_seconds: elapsed,
914
- skipped: false,
915
- reason: "dependent members: #{dependency_names}"
916
- )
917
- end
869
+ def emit_dependency_floor_lockfile_progress(member:, attempt:)
870
+ @release_progress&.update(member, status: "lockfiles #{attempt}/#{REGISTRY_WAIT_ATTEMPTS}", mark: ">")
918
871
  end
919
872
 
920
873
  def already_released_result(member)
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.3
4
+ version: 1.1.4
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.3
323
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.3/CHANGELOG.md
322
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.1.4
323
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.4/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.3
325
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.1.4
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