kettle-dev 3.1.16 → 3.1.18
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +27 -1
- data/README.md +1 -1
- data/lib/kettle/dev/release_cli.rb +37 -0
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +2 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 672f320446b4068e5c3baac7ee9a30443791328de854e1d917d7cefc0168ea39
|
|
4
|
+
data.tar.gz: 368787c9c87aa440b03dab7c3b4a0df2d9a91be96be1de6056a83c62d5e7b929
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 97b7bbc123483bf583d88ef67a30e8edbc923b6aab487e1cea2d890716f1a25e95657ab3f308209e61c0fbe42c4d9b06594172ebfb71442e3ce219434e528000
|
|
7
|
+
data.tar.gz: 02d2b63b536624d834fde01bedc077425bcb248ae4a169ac24e5ca6479130dba398dc1df8caa24e652fb692361c530849e84911cfe57923de0ede14511ee2a15
|
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.18] - 2026-10-19
|
|
34
|
+
|
|
35
|
+
- TAG: [v3.1.18][3.1.18t]
|
|
36
|
+
- COVERAGE: 91.72% -- 5763/6283 lines in 48 files
|
|
37
|
+
- BRANCH COVERAGE: 75.73% -- 2216/2926 branches in 48 files
|
|
38
|
+
- 53.60% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- kettle-release aborts with an explicit outdated-tool error when a newer release of kettle-dev exists in the same minor series (registry lookup; failures never block; newer minors only warn; KETTLE_DEV_SKIP_TOOL_CURRENCY_CHECK skips), so a stale copy resolved from an old lockfile can no longer silently run without lockfile materialization and self-heal fixes.
|
|
43
|
+
|
|
44
|
+
## [3.1.17] - 2026-10-18
|
|
45
|
+
|
|
46
|
+
- TAG: [v3.1.17][3.1.17t]
|
|
47
|
+
- COVERAGE: 91.84% -- 5761/6273 lines in 48 files
|
|
48
|
+
- BRANCH COVERAGE: 75.75% -- 2212/2920 branches in 48 files
|
|
49
|
+
- 53.60% documented
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- Family member publish materializes the release task lockfile before building: run_family_member_publish now runs the same normalize guard as the step 14/15 build entry points, so the BUNDLE_LOCKFILE snapshot copied from the committed Gemfile.lock is bundle-installed before rake build. Without it, a monorepo member build failed with: Could not find tool-old-version in locally installed gems, when the committed lockfile pinned an older release-tool resolution than the boot environment.
|
|
54
|
+
|
|
33
55
|
## [3.1.16] - 2026-10-18
|
|
34
56
|
|
|
35
57
|
- TAG: [v3.1.16][3.1.16t]
|
|
@@ -4156,7 +4178,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
4156
4178
|
- Selecting will run the selected workflow via `act`
|
|
4157
4179
|
- This may move to its own gem in the future.
|
|
4158
4180
|
|
|
4159
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.
|
|
4181
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.18...HEAD
|
|
4182
|
+
[3.1.18]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.17...v3.1.18
|
|
4183
|
+
[3.1.18t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.18
|
|
4184
|
+
[3.1.17]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.16...v3.1.17
|
|
4185
|
+
[3.1.17t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.17
|
|
4160
4186
|
[3.1.16]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.15...v3.1.16
|
|
4161
4187
|
[3.1.16t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.16
|
|
4162
4188
|
[3.1.15]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.14...v3.1.15
|
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.
|
|
1087
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-6.283-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
|
|
@@ -268,6 +268,7 @@ module Kettle
|
|
|
268
268
|
|
|
269
269
|
def run
|
|
270
270
|
@started_at = monotonic_time
|
|
271
|
+
ensure_release_tool_current!
|
|
271
272
|
emit_run_start
|
|
272
273
|
status = "ok"
|
|
273
274
|
error = nil
|
|
@@ -672,6 +673,14 @@ module Kettle
|
|
|
672
673
|
|
|
673
674
|
def run_family_member_publish
|
|
674
675
|
version = detect_version
|
|
676
|
+
# The build pins BUNDLE_LOCKFILE to this run's task lockfile snapshot,
|
|
677
|
+
# copied from the committed Gemfile.lock on first use. Materialize it
|
|
678
|
+
# (bundle install against the snapshot) or the build fails on gems the
|
|
679
|
+
# snapshot pins but the boot env never installed — exactly what a
|
|
680
|
+
# stale committed lockfile plus an independently-versioned release
|
|
681
|
+
# tool produces (e.g. kettle-family 1.3.13 vs 1.3.18). Same guard the
|
|
682
|
+
# step 14/15 entry points run before `bundle exec rake build`.
|
|
683
|
+
normalize_release_lockfiles_before_publish_tasks!
|
|
675
684
|
prepare_release_lockfiles_for_release_tasks!
|
|
676
685
|
ensure_signing_setup_or_skip!
|
|
677
686
|
ensure_release_secrets_ready_for_signing! if signing_enabled? && release_secrets_configured?
|
|
@@ -2314,6 +2323,34 @@ module Kettle
|
|
|
2314
2323
|
m[2]
|
|
2315
2324
|
end
|
|
2316
2325
|
|
|
2326
|
+
# Refuse to run a release with an outdated release tool. kettle-release
|
|
2327
|
+
# is resolved from the invoking bundle (for family releases, the family
|
|
2328
|
+
# root's Gemfile, which each family version-manages); a stale copy
|
|
2329
|
+
# silently misses lockfile materialization and self-heal behavior added
|
|
2330
|
+
# in later patch releases. When a newer release of this gem exists in
|
|
2331
|
+
# the same minor series, abort with the reason instead of misbehaving.
|
|
2332
|
+
# Newer releases in other minor series only warn: a family may
|
|
2333
|
+
# deliberately track an older minor. Registry lookup failure never
|
|
2334
|
+
# blocks a release. Skippable with KETTLE_DEV_SKIP_TOOL_CURRENCY_CHECK
|
|
2335
|
+
# for intentionally offline runs.
|
|
2336
|
+
def ensure_release_tool_current!
|
|
2337
|
+
return if truthy_value?(ENV["KETTLE_DEV_SKIP_TOOL_CURRENCY_CHECK"])
|
|
2338
|
+
|
|
2339
|
+
gem_name = "kettle-dev"
|
|
2340
|
+
current = Gem::Version.new(Kettle::Dev::VERSION)
|
|
2341
|
+
latest_overall, latest_series = latest_released_versions(gem_name, current.to_s)
|
|
2342
|
+
|
|
2343
|
+
if latest_series && Gem::Version.new(latest_series) > current
|
|
2344
|
+
raise Error,
|
|
2345
|
+
"kettle-release (#{gem_name} #{current}) is outdated: #{latest_series} is available in " \
|
|
2346
|
+
"the same minor series. Update the invoking Gemfile (bundle update #{gem_name}) and retry."
|
|
2347
|
+
end
|
|
2348
|
+
|
|
2349
|
+
if latest_overall && Gem::Version.new(latest_overall) > current
|
|
2350
|
+
warn("[kettle-release] #{gem_name} #{latest_overall} is available (running #{current} in the #{current.segments[0, 2].join(".")} series).")
|
|
2351
|
+
end
|
|
2352
|
+
end
|
|
2353
|
+
|
|
2317
2354
|
def latest_released_versions(gem_name, current_version)
|
|
2318
2355
|
data = Kettle::Dev::RubyGemsVersions.fetch(gem_name, version_hint: current_version)
|
|
2319
2356
|
return [nil, nil] unless data.is_a?(Array)
|
data/lib/kettle/dev/version.rb
CHANGED
|
@@ -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.
|
|
8
|
+
VERSION = "3.1.18"
|
|
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.
|
|
4
|
+
version: 3.1.18
|
|
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.
|
|
427
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.
|
|
426
|
+
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.18
|
|
427
|
+
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.18/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.
|
|
429
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.18
|
|
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
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
�T�
|
|
3
|
-
�d�{�������L[��6�_�F��ļ$@
|
|
4
|
-
�B�ᣡk���vqa�Z(�IU������l>���Z*�?ң�N���{']���!'���N�p�ٚ�t��@IϪ�I�0�P��lA��'���̴e�����D��e3������$|DvA��Qqj���R�����=K*&��s��-x��
|
|
5
|
-
o
|
|
6
|
-
hP��&�i�dw����$"�t��0��W����ՠ�B�^��ץ-I<�~l�B6�7{ �
|
|
1
|
+
w,J��5�7-����ϓ?\/�
|
|
2
|
+
�0���,x�i�]k�W~Rs1�D���t��G~���$��NP�+���x�^�f{H�evb��zݽ��Qhk������SYk��0��]�8'�1�$��[*�П��oF�G�k�|`���������+J����"r�� �05�v�m�S��Õ�q<����O�T��+����K�[�����'�"��M�\�lY`"U��|b6�F��<oJh�5ɠ��pvUQ�q���u��_�d� �6�L�#�ɻ��,���zuN�T¯�Ua��I�e��(�� N�V�r��&Ҍ6r������� �kBK셁d��}b5�^5�����&6w�vr �?隖Q����&��Hy,�T_�vy�������
|