kettle-dev 3.1.20 → 3.1.22

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: 9efc79f5aed2cce009a847b8054a5ce39d54bd5c11f567d5463085e1ce11fcd6
4
- data.tar.gz: 28b1079640e41dbd9f7ff7c0d844f377b177c4d408b504af893cc888b5abf200
3
+ metadata.gz: 88d63d67c63bcf4fdb5e94c407a2aea115b573e9b727bcc5ce8d2e0e3894ab4a
4
+ data.tar.gz: 35e10c8f15b02a93363709c130895d6167ca9540308a13ae1a33b9ca1ff3d563
5
5
  SHA512:
6
- metadata.gz: f4982d17aabae7fc0e4d970a55fac3e8403f4daceea4d6e5399380a928c270a2a80ff879c3698eb3558276c39e3fd9a540d801a6ec226ad5e8989c96dd737ded
7
- data.tar.gz: 7ada13071f91419315448d6b9d03be92c8a25f68d827fb5acbf94b97aad444d7173f6eb411bf7ac6ebdd6251deb4f8f86fdba868ab1edb308ce69eaf199d5eb9
6
+ metadata.gz: f33f304d020f5b915f5fe2ebbedfa6a9cdbebcd7db7ea911de348cae51fef28dc93eae39e19c36b1d94f14acba07335d736614adf424a6d5492f9f0323faaa3e
7
+ data.tar.gz: 242c784448e83d1535fabc6e6ae47a013371f42a73ce5e7603203acbb77c9096f650afbf9287d3de9d64ec7e8e35772a56c844300418e0a80529500463aef6fa
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
+ ## [3.1.22] - 2026-10-21
34
+
35
+ - TAG: [v3.1.22][3.1.22t]
36
+ - COVERAGE: 91.34% -- 5780/6328 lines in 48 files
37
+ - BRANCH COVERAGE: 75.56% -- 2229/2950 branches in 48 files
38
+ - 53.70% documented
39
+
40
+ ### Fixed
41
+
42
+ - Release now detects tracked lockfile changes from the final dependency upgrade, commits them and reruns CI before publication, and refreshes build lockfile snapshots to use the validated versions. Unchanged lockfiles proceed without another CI run.
43
+
44
+ ## [3.1.21] - 2026-10-21
45
+
46
+ - TAG: [v3.1.21][3.1.21t]
47
+ - COVERAGE: 91.84% -- 5799/6314 lines in 48 files
48
+ - BRANCH COVERAGE: 75.59% -- 2224/2942 branches in 48 files
49
+ - 53.70% documented
50
+
51
+ ### Fixed
52
+
53
+ - Release step 18 now attaches the built gem and its checksums to the GitHub release. Standalone releases and family members excluded from the aggregate release (e.g. kettle-jem in structuredmerge-ruby) were previously created assetless; family aggregate members still get assets from the family's closing aggregate and are unaffected
54
+
33
55
  ## [3.1.20] - 2026-10-21
34
56
 
35
57
  - TAG: [v3.1.20][3.1.20t]
@@ -4200,7 +4222,11 @@ Please file a bug if you notice a violation of semantic versioning.
4200
4222
  - Selecting will run the selected workflow via `act`
4201
4223
  - This may move to its own gem in the future.
4202
4224
 
4203
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.20...HEAD
4225
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.22...HEAD
4226
+ [3.1.22]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.21...v3.1.22
4227
+ [3.1.22t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.22
4228
+ [3.1.21]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.20...v3.1.21
4229
+ [3.1.21t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.21
4204
4230
  [3.1.20]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.19...v3.1.20
4205
4231
  [3.1.20t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.20
4206
4232
  [3.1.19]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.18...v3.1.19
data/README.md CHANGED
@@ -1084,7 +1084,7 @@ Thanks for RTFM. ☺️
1084
1084
  [📌gitmoji]: https://gitmoji.dev
1085
1085
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1086
1086
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1087
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.308-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1087
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.328-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1088
1088
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1089
1089
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1090
1090
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -590,7 +590,7 @@ module Kettle
590
590
  # 18. create GitHub release (optional)
591
591
  if run_step?(18)
592
592
  version ||= detect_version
593
- created, message = maybe_create_github_release!(version)
593
+ created, message = maybe_create_github_release!(version, assets: github_release_assets(version))
594
594
  abort("GitHub release creation failed: #{message}") if github_release_required? && !created
595
595
  end
596
596
 
@@ -828,10 +828,31 @@ module Kettle
828
828
  reset_release_lockfiles!(stage: "before publish tasks")
829
829
  validate_release_lockfiles!(stage: "before publish tasks")
830
830
  prepare_release_lockfiles_for_release_tasks!
831
+ revalidate_publish_lockfile_changes! unless changed_release_lockfile_paths.empty?
832
+ # Setup may already have cached task snapshots before a newer matching
833
+ # release became available. Build against the final canonical locks.
834
+ cleanup_release_task_lockfile!
831
835
  materialize_release_lockfiles_for_release_tasks!
832
836
  @release_lockfiles_normalized_before_publish = true
833
837
  end
834
838
 
839
+ def revalidate_publish_lockfile_changes!
840
+ puts "Release lockfiles changed before publication; committing updates and rerunning CI."
841
+ ensure_git_user!
842
+ abort("Failed to commit updated release lockfiles.") unless commit_bundle_update!
843
+ validate_release_lockfiles!(stage: "after publish lockfile update")
844
+
845
+ if local_ci?
846
+ maybe_run_local_ci_before_push!(true, force: true)
847
+ else
848
+ trunk = detect_trunk_branch
849
+ feature = current_branch
850
+ ensure_trunk_synced_before_push!(trunk, feature) unless branch_stack_release_branch?(feature, trunk)
851
+ push!
852
+ monitor_workflows_after_push!
853
+ end
854
+ end
855
+
835
856
  # Resetting can select a platform-specific artifact that is not installed
836
857
  # in the invoking development bundle. Materialize every canonical release
837
858
  # bundle before a release gate runs `bundle exec`. Use a disposable copy:
@@ -3325,6 +3346,20 @@ module Kettle
3325
3346
  end
3326
3347
  end
3327
3348
 
3349
+ # Assets attached to the GitHub release: the built gem and its
3350
+ # checksums. Family aggregate members skip this step entirely
3351
+ # (KETTLE_RELEASE_SKIP_GITHUB_RELEASE) and get assets from the family's
3352
+ # closing aggregate; this covers standalone releases and
3353
+ # aggregate-excluded members, whose releases were created assetless.
3354
+ def github_release_assets(version)
3355
+ gem_name = detect_gem_name
3356
+ candidates = [gem_file_for_version(version)]
3357
+ %w[sha256 sha512].each do |algorithm|
3358
+ candidates << File.join(@root, "checksums", "#{gem_name}-#{version}.gem.#{algorithm}")
3359
+ end
3360
+ candidates.compact.select { |path| File.file?(path) }
3361
+ end
3362
+
3328
3363
  # If GITHUB_TOKEN is present, create a GitHub release for the given version tag.
3329
3364
  # Title: v<version>
3330
3365
  # Body: the CHANGELOG section for this version, followed by the two link references for this version.
@@ -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.1.20"
8
+ VERSION = "3.1.22"
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.1.20
4
+ version: 3.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -423,10 +423,10 @@ licenses:
423
423
  - AGPL-3.0-only
424
424
  metadata:
425
425
  homepage_uri: https://kettle-dev.galtzo.com
426
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.20
427
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.20/CHANGELOG.md
426
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.22
427
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.22/CHANGELOG.md
428
428
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
429
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.20
429
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.22
430
430
  funding_uri: https://github.com/sponsors/pboling
431
431
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
432
432
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file