kettle-gha-pins 0.3.5 → 0.3.7

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: cf726f5ae9da944049ab93d0a7c7f8ae1395738d688d7413675a962c4c086529
4
- data.tar.gz: df590d540be898f5d050981b4e8ea2c263368b5fc59a41679bdddd57d0f73fd9
3
+ metadata.gz: e55947f165ea60fdf05e34f18bbd7af157e37c2e0da0c975a721ca6672da0b9f
4
+ data.tar.gz: eaaa403c59388d699bc50d0108ff1211d6249933dfd0304a5cd896980a3b646f
5
5
  SHA512:
6
- metadata.gz: 6caf9c879b226f3b3df8d9a5a1be52ef2374a26dbdf68bc3f8a71385e7839a8bc1a2c4e4c1cb0068a04d9e784d51337365588f90f6a46600f20cc82f7336b23a
7
- data.tar.gz: a93449246760eece2458ffd97fbf33141202b28d8ae75cc59010895a6c08e1d1f6469d0302d296aa7e47d213092938d9ac2d598185966f595532c7930cc5c0ee
6
+ metadata.gz: 24b75d7754e3617cee6eb4178495de33b813e940b65b3a83c64201ad539edcaeb9038cec38b25bafe4f7f9a2510771e4c34d24282043b737b412066580627641
7
+ data.tar.gz: afceb46d10b46e25d008a125d3d724f3aec05fc3f468aa388aa0cc899b1f5aae6b64c2271651c74b7fd22da364766740098ec037a385b490453c5cd3a082b06d
checksums.yaml.gz.sig CHANGED
@@ -1 +1 @@
1
- AP�;>; V��z0}�(�DNt�o6�Jtu��� X:�W�8}Ip�]�<�B<v�>!㓴V�W��'��-)_�d��W���y"�7�� H�v��������V� ��1��0�!_�r�@��_�6��0H�Yޅz���֐�k�E�쉝KGMD`Y�f����J$���Muƈ��"$����W��; & _E�@�f���WoWɞ�����%V���Ӫ+�a��i!CB7�[� I_RL~0��n�FZd���!��'�RL�c��l�?����2DS����)�����k�_z�Hx$9S���o\���Q�Īr������)��ޙ,?-#���=k��'�Cd���"�㙸$Y"8R:‡`�c�j�
1
+ ؤ�G:U���f�Q0bw;-AƟ>Țz_Y/:��j�>,���p�=]N�*7��
data/CHANGELOG.md CHANGED
@@ -30,6 +30,25 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [0.3.7] - 2026-08-05
34
+
35
+ - TAG: [v0.3.7][0.3.7t]
36
+ - COVERAGE: 98.94% -- 931/941 lines in 8 files
37
+ - BRANCH COVERAGE: 90.87% -- 378/416 branches in 8 files
38
+ - 25.96% documented
39
+
40
+ ## [0.3.6] - 2026-08-03
41
+
42
+ - TAG: [v0.3.6][0.3.6t]
43
+ - COVERAGE: 98.94% -- 935/945 lines in 8 files
44
+ - BRANCH COVERAGE: 90.91% -- 380/418 branches in 8 files
45
+ - 24.04% documented
46
+
47
+ ### Fixed
48
+
49
+ - kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
50
+ preserving comments and trailing commas during template updates.
51
+
33
52
  ## [0.3.5] - 2026-08-01
34
53
 
35
54
  - TAG: [v0.3.5][0.3.5t]
@@ -63,10 +82,6 @@ Please file a bug if you notice a violation of semantic versioning.
63
82
 
64
83
  ### Added
65
84
 
66
- - kettle-jem-template-20260729-005 - Gemspec metadata now publishes this
67
- project's RubyForum tag as `mailing_list_uri`, and support docs link to the
68
- tagged RubyForum community alongside Discord.
69
-
70
85
  ### Fixed
71
86
 
72
87
  - kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
@@ -81,13 +96,6 @@ Please file a bug if you notice a violation of semantic versioning.
81
96
  - kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the
82
97
  legacy manual bundle install path, avoiding setup-time Bundler full-index
83
98
  failures against `gem.coop`.
84
- - kettle-jem-template-20260729-002 - VersionGem bootstrap now preserves
85
- and templates dedicated `version_gem.rb` entrypoints even when the gemspec
86
- dependency is intentionally omitted, and generated anonymous-loader specs
87
- cover both `version.rb` and `version_gem.rb`.
88
- - kettle-jem-template-20260729-003 - Old-Ruby gems below the VersionGem runtime
89
- floor now get managed minimal `version.rb` files and anonymous-loader version
90
- specs without adding `version_gem`.
91
99
  - kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
92
100
  relative to the gemspec directory, so release package contents stay correct
93
101
  even when the gemspec is loaded from another working directory.
@@ -243,22 +251,20 @@ Please file a bug if you notice a violation of semantic versioning.
243
251
 
244
252
  ### Changed
245
253
 
246
- - kettle-jem-template-20260716-001 - Shim gemspec manifests now include
247
- `LICENSE.md` instead of nonexistent `LICENSE.txt`.
248
254
  - kettle-jem-template-20260716-002 - Generated gemspec manifests now ship fewer
249
255
  repository-only files by default to reduce downstream distro packaging churn.
250
- - kettle-jem-template-20260720-001 - Generated READMEs can now render
251
- template-managed corporate sponsor logos from project or family config.
252
256
  - kettle-jem-template-20260720-002 - Generated development Gemfiles now use the
253
257
  released `tree_sitter_language_pack` gem 1.13.3 or newer by default.
254
258
  - kettle-jem-template-20260720-003 - Generated StructuredMerge Git diff driver
255
259
  config now uses the installed `smorg-rb` Ruby driver name.
256
- - kettle-jem-template-20260720-004 - Generated multi-engine workflow files now
257
- omit JRuby and TruffleRuby jobs when project config declares MRI-only engines.
258
260
  - kettle-jem-template-20260720-005 - Generated README Support & Community rows
259
261
  now include a RubyForum help badge.
260
262
 
261
- [Unreleased]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.5...HEAD
263
+ [Unreleased]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.7...HEAD
264
+ [0.3.7]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.6...v0.3.7
265
+ [0.3.7t]: https://github.com/kettle-dev/kettle-gha-pins/releases/tag/v0.3.7
266
+ [0.3.6]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.5...v0.3.6
267
+ [0.3.6t]: https://github.com/kettle-dev/kettle-gha-pins/releases/tag/v0.3.6
262
268
  [0.3.5]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.4...v0.3.5
263
269
  [0.3.5t]: https://github.com/kettle-dev/kettle-gha-pins/releases/tag/v0.3.5
264
270
  [0.3.4]: https://github.com/kettle-dev/kettle-gha-pins/compare/v0.3.3...v0.3.4
data/README.md CHANGED
@@ -563,7 +563,7 @@ Thanks for RTFM. ☺️
563
563
  [📌gitmoji]: https://gitmoji.dev
564
564
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
565
565
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
566
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.945-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
566
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.941-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
567
567
  [🔐security]: https://github.com/kettle-dev/kettle-gha-pins/blob/main/SECURITY.md
568
568
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
569
569
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -6,7 +6,7 @@ module Kettle
6
6
  # Version namespace for this gem.
7
7
  module Version
8
8
  # Current gem version.
9
- VERSION = "0.3.5"
9
+ VERSION = "0.3.7"
10
10
  end
11
11
  # Current gem version exposed at the traditional constant location.
12
12
  VERSION = Version::VERSION # Traditional Constant Location
@@ -106,39 +106,39 @@ module Kettle
106
106
  end.max_by { |entry| sort_key(entry) }
107
107
  end
108
108
 
109
+ # The comment on `uses:` is a cached record that needs to do two things:
110
+ #
111
+ # 1. Track the currently resolved target (if the target changes, update
112
+ # the comment even when both values parse to version objects).
113
+ # 2. Normalize equivalent spellings (v2, v2.0, v2.0.0...) to the most
114
+ # specific canonical form available for that SHA in known_versions.
109
115
  def comment_update_version(comment_version, resolved_version, known_versions: [])
110
116
  comment = parse(comment_version)
111
117
  resolved = parse(resolved_version)
112
118
  return nil unless comment && resolved
113
119
 
114
- resolved_entry = exact_entry_for_version(known_versions, resolved_version)
115
- comment_entry = exact_entry_for_version(known_versions, comment_version)
120
+ canonical = canonical_version_for(resolved_version, known_versions)
121
+ return nil if comment_version.to_s == canonical
116
122
 
117
- if comment == resolved && resolved_entry && comment_entry
118
- preferred = entries_for_semantic_version(known_versions, comment).max_by { |known_entry| sort_key(known_entry) }
119
- preferred_version = preferred.fetch(:version)
120
- (preferred_version == comment_version.to_s) ? nil : preferred_version
121
- else
122
- return nil if comment_version.to_s == resolved_version.to_s
123
-
124
- resolved_version
125
- end
126
- end
127
-
128
- def exact_entry_for_version(versions, version)
129
- parsed = parse(version)
130
- return nil unless parsed
131
-
132
- versions.find do |entry|
133
- entry.fetch(:version_obj, nil) == parsed &&
134
- entry.fetch(:version, nil).to_s == parsed.to_s
135
- end
123
+ canonical
136
124
  end
137
125
 
138
126
  def entries_for_semantic_version(versions, version_obj)
139
127
  versions.select { |entry| entry.fetch(:version_obj, nil) == version_obj }
140
128
  end
141
129
 
130
+ # When multiple release spellings resolve to the same SHA, prefer the
131
+ # most specific equivalent tag. If there is no known equivalent, fall
132
+ # back to the plain resolved version string.
133
+ def canonical_version_for(resolved_version, known_versions)
134
+ resolved = parse(resolved_version)
135
+ return resolved_version.to_s unless resolved
136
+
137
+ equivalents = entries_for_semantic_version(known_versions, resolved)
138
+ preferred = equivalents.max_by { |entry| sort_key(entry) }
139
+ preferred ? preferred[:version] : resolved.to_s
140
+ end
141
+
142
142
  def normalize_upgrade_level(level)
143
143
  normalized = level.to_s.downcase
144
144
  VALID_UPGRADE_LEVELS.include?(normalized) ? normalized : DEFAULT_UPGRADE_LEVEL
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-gha-pins
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -74,7 +74,7 @@ dependencies:
74
74
  version: '1.1'
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: 1.1.14
77
+ version: 1.1.15
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
@@ -84,7 +84,7 @@ dependencies:
84
84
  version: '1.1'
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
- version: 1.1.14
87
+ version: 1.1.15
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: kettle-dev
90
90
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +94,7 @@ dependencies:
94
94
  version: '2.5'
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 2.5.14
97
+ version: 2.5.18
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
@@ -104,7 +104,7 @@ dependencies:
104
104
  version: '2.5'
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: 2.5.14
107
+ version: 2.5.18
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: bundler-audit
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,7 @@ dependencies:
202
202
  version: '2.0'
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 2.0.17
205
+ version: 2.0.19
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
@@ -212,7 +212,7 @@ dependencies:
212
212
  version: '2.0'
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
- version: 2.0.17
215
+ version: 2.0.19
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: turbo_tests2
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -301,10 +301,10 @@ licenses:
301
301
  - MIT
302
302
  metadata:
303
303
  homepage_uri: https://github.com/kettle-dev/kettle-gha-pins
304
- source_code_uri: https://github.com/kettle-dev/kettle-gha-pins/tree/v0.3.5
305
- changelog_uri: https://github.com/kettle-dev/kettle-gha-pins/blob/v0.3.5/CHANGELOG.md
304
+ source_code_uri: https://github.com/kettle-dev/kettle-gha-pins/tree/v0.3.7
305
+ changelog_uri: https://github.com/kettle-dev/kettle-gha-pins/blob/v0.3.7/CHANGELOG.md
306
306
  bug_tracker_uri: https://github.com/kettle-dev/kettle-gha-pins/issues
307
- documentation_uri: https://www.rubydoc.info/gems/kettle-gha-pins/0.3.5
307
+ documentation_uri: https://www.rubydoc.info/gems/kettle-gha-pins/0.3.7
308
308
  funding_uri: https://github.com/sponsors/pboling
309
309
  wiki_uri: https://github.com/kettle-dev/kettle-gha-pins/wiki
310
310
  news_uri: https://www.railsbling.com/tags/kettle-gha-pins
metadata.gz.sig CHANGED
Binary file