kettle-family 1.2.73 → 1.2.75

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: e1dcea43bfc300c3aefd69feccb2b76b532c32999d0f6ef753a8e60018ec50fe
4
- data.tar.gz: f03a4dd05afd1a36e431808ab9b654f75d2f5147a6705e678539a183530f1695
3
+ metadata.gz: 1646de2982d2372560fe6619e24afa7abb1573dc7a19889ae207f8bbd3c55247
4
+ data.tar.gz: d735b77106c08653c95cb039476c2f1ff7a6f08bb35232cdcd5cc4489693e0cf
5
5
  SHA512:
6
- metadata.gz: 9f75f271224c4e5bf6f10259d576f2b0ca3d8e12fea53a249cf21d154b7fca476491ff13dc58f7c98e6f8681bd212d62f7a82861c0f66a61d107968ac0e19568
7
- data.tar.gz: e44c17034b47825c4a9b5ddf7b5769e13bd19cd8d86268752c269e2e15da90138d525c365157f4a4e9e74897b2d8943caecf95c7a1ee3b3418676801391e09ab
6
+ metadata.gz: b2adcb3a0921026fa2d50c59d22f9ba2990c4a682bca13f2e61368e161d8273e640b72e95728951db62527ede8d64dc94b9d089f81f2c68947b3b6b13508ac21
7
+ data.tar.gz: 0700e5424babd6ad5ecc9fb2338f06fbb424fb150b566ed8f8c82601e18c14d2b7808089c973f3a2c8a31c7cc4c33adee975250eeea4a17aa5817dd50e72ece4
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,28 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.2.75] - 2026-08-31
34
+
35
+ - TAG: [v1.2.75][1.2.75t]
36
+ - COVERAGE: 93.31% -- 5553/5951 lines in 33 files
37
+ - BRANCH COVERAGE: 76.70% -- 2281/2974 branches in 33 files
38
+ - 30.50% documented
39
+
40
+ ### Fixed
41
+
42
+ - Restrict monorepo aggregate GitHub Releases to the shared-version cohort, preserving independently versioned excluded members' own releases.
43
+
44
+ ## [1.2.74] - 2026-08-31
45
+
46
+ - TAG: [v1.2.74][1.2.74t]
47
+ - COVERAGE: 93.32% -- 5548/5945 lines in 33 files
48
+ - BRANCH COVERAGE: 76.73% -- 2279/2970 branches in 33 files
49
+ - 30.50% documented
50
+
51
+ ### Fixed
52
+
53
+ - Merge configured and generated child release skip steps.
54
+
33
55
  ## [1.2.73] - 2026-08-31
34
56
 
35
57
  - TAG: [v1.2.73][1.2.73t]
@@ -2381,7 +2403,11 @@ Please file a bug if you notice a violation of semantic versioning.
2381
2403
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
2382
2404
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
2383
2405
 
2384
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.73...HEAD
2406
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.75...HEAD
2407
+ [1.2.75]: https://github.com/kettle-dev/kettle-family/compare/v1.2.74...v1.2.75
2408
+ [1.2.75t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.75
2409
+ [1.2.74]: https://github.com/kettle-dev/kettle-family/compare/v1.2.73...v1.2.74
2410
+ [1.2.74t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.74
2385
2411
  [1.2.73]: https://github.com/kettle-dev/kettle-family/compare/v1.2.72...v1.2.73
2386
2412
  [1.2.73t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.73
2387
2413
  [1.2.72]: https://github.com/kettle-dev/kettle-family/compare/v1.2.71...v1.2.72
data/README.md CHANGED
@@ -1049,7 +1049,7 @@ Thanks for RTFM. ☺️
1049
1049
  [📌gitmoji]: https://gitmoji.dev
1050
1050
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1051
1051
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1052
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.931-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1052
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.951-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1053
1053
  [🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
1054
1054
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1055
1055
  [📄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.73"
8
+ VERSION = "1.2.75"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
@@ -520,7 +520,8 @@ module Kettle
520
520
  results.concat(release_member_results(workflow_members, include_family_changelog: !skip_changelog))
521
521
  return results unless explicit_monorepo_mode? && results.all?(&:ok?)
522
522
 
523
- results << aggregate_monorepo_github_release(workflow_members)
523
+ aggregate_members = aggregate_release_members(workflow_members)
524
+ results << aggregate_monorepo_github_release(aggregate_members) unless aggregate_members.empty?
524
525
  return results
525
526
  end
526
527
  return git_sync_results(workflow_members) if GIT_SYNC_COMMANDS.key?(command)
@@ -2302,7 +2303,8 @@ module Kettle
2302
2303
  command = replace_kettle_release_provider(command) if @release_secrets_broker
2303
2304
  args = []
2304
2305
  effective_start_step = release_start_step_for(member)
2305
- effective_skip_steps = release_skip_steps_for(member)
2306
+ command, configured_skip_steps = extract_kettle_release_skip_steps(command)
2307
+ effective_skip_steps = (configured_skip_steps + release_skip_steps_for(member).split(",")).uniq.join(",")
2306
2308
  args << "start_step=#{effective_start_step}" if effective_start_step
2307
2309
  args << "skip_steps=#{effective_skip_steps}" unless effective_skip_steps.empty?
2308
2310
  args << "--skip-changelog" if skip_changelog || aggregate_validation_member?(member)
@@ -2323,6 +2325,27 @@ module Kettle
2323
2325
  command.is_a?(Array) ? [*command, *args] : "#{command} #{args.join(" ")}"
2324
2326
  end
2325
2327
 
2328
+ def extract_kettle_release_skip_steps(command)
2329
+ configured_steps = []
2330
+ case command
2331
+ when Array
2332
+ filtered_command = command.reject do |argument|
2333
+ match = argument.to_s.match(/\A(?:skip_steps|--skip-steps)=(.+)\z/)
2334
+ configured_steps.concat(match[1].split(",")) if match
2335
+ match
2336
+ end
2337
+ [filtered_command, configured_steps.map(&:strip).reject(&:empty?)]
2338
+ when String
2339
+ filtered_command = command.gsub(/(?:\A|\s)(?:skip_steps|--skip-steps)=([^\s]+)/) do
2340
+ configured_steps.concat(Regexp.last_match(1).split(","))
2341
+ ""
2342
+ end
2343
+ [filtered_command.strip, configured_steps.map(&:strip).reject(&:empty?)]
2344
+ else
2345
+ [command, configured_steps]
2346
+ end
2347
+ end
2348
+
2326
2349
  def release_start_step_for(member)
2327
2350
  return start_step unless fast_recovery_for?(member)
2328
2351
 
@@ -2360,6 +2383,19 @@ module Kettle
2360
2383
  member && member.name == (@aggregate_validation_member_name || aggregate_validation_members.first&.name)
2361
2384
  end
2362
2385
 
2386
+ # The aggregate GitHub Release represents the shared-version cohort. An
2387
+ # aggregate-validation exclusion retains an independently versioned
2388
+ # member's complete release lifecycle, including its own GitHub Release.
2389
+ def aggregate_release_members(release_members = members)
2390
+ return Array(release_members) unless config.release_aggregate_validation? && config.shared_changelog?
2391
+
2392
+ aggregate_validation_members(release_members)
2393
+ end
2394
+
2395
+ def aggregate_release_member?(member)
2396
+ member && aggregate_release_members.include?(member)
2397
+ end
2398
+
2363
2399
  def fast_recovery_for?(member)
2364
2400
  return false unless fast_recovery
2365
2401
  return false unless member
@@ -2484,7 +2520,7 @@ module Kettle
2484
2520
  # after their member gems. A standalone gem uses the default
2485
2521
  # monorepo mode too, but must let kettle-release create its own
2486
2522
  # GitHub Release.
2487
- env["KETTLE_RELEASE_SKIP_GITHUB_RELEASE"] = "true" if aggregate_monorepo_github_release?
2523
+ env["KETTLE_RELEASE_SKIP_GITHUB_RELEASE"] = "true" if aggregate_monorepo_github_release? && aggregate_release_member?(member)
2488
2524
  end
2489
2525
  if aggregate_validation_member?(member)
2490
2526
  env["KETTLE_RELEASE_FAMILY_CI_MODE"] = aggregate_validation_member_name?(member) ? "validation" : "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.2.73
4
+ version: 1.2.75
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -91,7 +91,7 @@ dependencies:
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 3.0.24
94
+ version: 3.0.25
95
95
  - - "<"
96
96
  - !ruby/object:Gem::Version
97
97
  version: 4.0.0
@@ -101,7 +101,7 @@ dependencies:
101
101
  requirements:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: 3.0.24
104
+ version: 3.0.25
105
105
  - - "<"
106
106
  - !ruby/object:Gem::Version
107
107
  version: 4.0.0
@@ -441,10 +441,10 @@ licenses:
441
441
  - AGPL-3.0-only
442
442
  metadata:
443
443
  homepage_uri: https://kettle-family.galtzo.com
444
- source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.73
445
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.73/CHANGELOG.md
444
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.75
445
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.75/CHANGELOG.md
446
446
  bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
447
- documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.73
447
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.75
448
448
  funding_uri: https://github.com/sponsors/pboling
449
449
  wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
450
450
  news_uri: https://www.railsbling.com/tags/kettle-family
metadata.gz.sig CHANGED
Binary file