kettle-family 1.1.0 → 1.1.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: 2aaa5d7e3543091f4cc86ed298afe481609e4c57bd85a3b4d69e0e0ec587bc80
4
- data.tar.gz: 36524c2f96f04ccd148048cbbaee7222e844f78e1fa5b5dd85dcd49c53975123
3
+ metadata.gz: 79a8b618e9d39c7c69bc77f133632dfd7b0802f44422cb29adde2f9a7d126259
4
+ data.tar.gz: 6f180a77144dd9df55d92ea0941ac68307ef38d51e207968f10af4627c85365e
5
5
  SHA512:
6
- metadata.gz: b9efc18d3efbcfa9e16aaa867a22a8b9e59fc337f9eb41f03f02829a88c6a4707eee5ff00c5c0b24931ea428d46841bf649af572a3a1fd84416b06aa46417d7d
7
- data.tar.gz: fe0e3717d364977801a8272976d2e22ae41ae3b5fdf4d4066fe57b698a28ec45089b4b88fd0b1645d57402fd427a9b8bb457439c49352b8e39bb3aac62be660e
6
+ metadata.gz: 4fe28d382aade9ae9406e4958afadf6f07e10231ca655f4973f5c2711fb5bac7559353cd517cda5e84ecb674e0ebc66e83788328d770481eabb1606b658f5f4f
7
+ data.tar.gz: 42f1aab38fee3ed2703dd37e9faaee14101f209174a0a3561b5820cd6e2ce52e698425722de106c849274aac9c053a01dde344490443b9bcbd396d99cde16d7d
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,18 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.1.1] - 2026-07-23
34
+
35
+ - TAG: [v1.1.1][1.1.1t]
36
+ - COVERAGE: 94.41% -- 2954/3129 lines in 25 files
37
+ - BRANCH COVERAGE: 76.28% -- 1058/1387 branches in 25 files
38
+ - 28.68% documented
39
+
40
+ ### Fixed
41
+
42
+ - `bup` / `bupb` now run bundle updates with local sibling path environments
43
+ disabled and refuse to auto-commit lockfiles containing local path remotes.
44
+
33
45
  ## [1.1.0] - 2026-07-23
34
46
 
35
47
  - TAG: [v1.1.0][1.1.0t]
@@ -41,7 +53,7 @@ Please file a bug if you notice a violation of semantic versioning.
41
53
 
42
54
  - `kettle-family state` now includes a `bump` boolean column, documents the
43
55
  boolean release-state columns above the table, and accepts `--only bump` to
44
- select members with unreleased changes whose `V.rb` differs from `V.rel`.
56
+ select members with unreleased changes whose `V.rb` still matches `V.rel`.
45
57
  - `--only` release-state filters now accept the short table column names
46
58
  `unrel`, `prep`, and `pend` in addition to `unreleased`, `prepared`, and
47
59
  `pending`.
@@ -911,7 +923,9 @@ Please file a bug if you notice a violation of semantic versioning.
911
923
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
912
924
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
913
925
 
914
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.0...HEAD
926
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.1.1...HEAD
927
+ [1.1.1]: https://github.com/kettle-dev/kettle-family/compare/v1.1.0...v1.1.1
928
+ [1.1.1t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.1
915
929
  [1.1.0]: https://github.com/kettle-dev/kettle-family/compare/v1.0.6...v1.1.0
916
930
  [1.1.0t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.1.0
917
931
  [1.0.6]: https://github.com/kettle-dev/kettle-family/compare/v1.0.5...v1.0.6
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.109-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
672
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.129-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
@@ -299,7 +299,7 @@ module Kettle
299
299
  end
300
300
 
301
301
  def bump_release_pending?(state)
302
- state["unreleased_entries"] == true && state["version"].to_s != state["latest_released"].to_s
302
+ state["unreleased_entries"] == true && state["version"].to_s == state["latest_released"].to_s
303
303
  end
304
304
 
305
305
  def root_changelog_version(root)
@@ -371,7 +371,7 @@ module Kettle
371
371
  lines << " unrel: unreleased changelog entries are present"
372
372
  lines << " prep: V.ch.md matches V.rb and is ready to publish"
373
373
  lines << " pend: unrel or prep"
374
- lines << " bump: unrel is yes and V.rb differs from V.rel"
374
+ lines << " bump: unrel is yes and V.rb matches V.rel"
375
375
  rows = release_state_header
376
376
  results.each do |result|
377
377
  rows << release_state_row(result)
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Family
5
5
  module Version
6
- VERSION = "1.1.0"
6
+ VERSION = "1.1.1"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
@@ -150,13 +150,15 @@ module Kettle
150
150
  end
151
151
 
152
152
  command_text = workflow_command(member)
153
- result = runner.call(member: member, phase: command, command: command_text, env: workflow_env)
153
+ result = runner.call(member: member, phase: command, command: command_text, env: command_env)
154
154
  memo << result
155
155
  break memo unless result.ok?
156
156
 
157
157
  normalize_lockfiles(member: member, runner: runner, memo: memo, phase: "normalize_lockfiles") if command == "template"
158
158
  commit_gha_sha_pins(member: member, runner: runner, memo: memo) if command == "gha-sha-pins"
159
- commit_bundle_update(member: member, runner: runner, memo: memo) if %w[bup bupb].include?(command)
159
+ if %w[bup bupb].include?(command) && validate_bundle_update_lockfile(member: member, memo: memo)
160
+ commit_bundle_update(member: member, runner: runner, memo: memo)
161
+ end
160
162
  commit_bex_changes(member: member, runner: runner, memo: memo) if command == "bex"
161
163
  end
162
164
  end
@@ -1113,6 +1115,16 @@ module Kettle
1113
1115
  end
1114
1116
  end
1115
1117
 
1118
+ def command_env
1119
+ return bundle_update_env if %w[bup bupb].include?(command)
1120
+
1121
+ workflow_env
1122
+ end
1123
+
1124
+ def bundle_update_env
1125
+ workflow_env.merge(config.release_disable_local_path_env.to_h { |key| [key, "false"] })
1126
+ end
1127
+
1116
1128
  def monorepo_template?
1117
1129
  command == "template" && config.family_mode == "monorepo"
1118
1130
  end
@@ -1474,6 +1486,38 @@ module Kettle
1474
1486
  memo << result
1475
1487
  end
1476
1488
 
1489
+ def validate_bundle_update_lockfile(member:, memo:)
1490
+ return true unless execute && commit
1491
+
1492
+ diagnostics = bundle_update_lockfile_diagnostics(member)
1493
+ result = CommandResult.new(
1494
+ member.name,
1495
+ "bundle_update_readiness",
1496
+ ["internal", "bundle-update-readiness"],
1497
+ member.root,
1498
+ diagnostics.empty? ? 0 : 1,
1499
+ diagnostics.empty?,
1500
+ diagnostics.join("\n"),
1501
+ "",
1502
+ 0.0,
1503
+ false,
1504
+ diagnostics.empty? ? nil : "bundle update produced release-invalid lockfile"
1505
+ )
1506
+ memo << result
1507
+ result.ok?
1508
+ end
1509
+
1510
+ def bundle_update_lockfile_diagnostics(member)
1511
+ lockfile = File.join(member.root, "Gemfile.lock")
1512
+ return [] unless File.file?(lockfile)
1513
+
1514
+ File.readlines(lockfile).filter_map.with_index(1) do |line, index|
1515
+ next unless line.start_with?(" remote: /", " remote: ./", " remote: ../")
1516
+
1517
+ "release lockfile has local path remote at Gemfile.lock:#{index}"
1518
+ end
1519
+ end
1520
+
1477
1521
  def commit_bex_changes(member:, runner:, memo:)
1478
1522
  return unless commit
1479
1523
 
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.0
4
+ version: 1.1.1
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.0
323
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.0/CHANGELOG.md
322
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.1.1
323
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.1.1/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.0
325
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.1.1
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