kettle-dev 2.2.4 → 2.2.5

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: e1c6a0d6e39d7d8fe607a9b19f147ef63a32a24bae13abfe0fe29e1d63d5850b
4
- data.tar.gz: 6fbe922eb16885678ce44cbb55c6caef1c71cc3053a6e7d7624fa0b6c3ecd72a
3
+ metadata.gz: ba33ed9512e4bc65a82886c163c0c01c3b8c59895326fb64c64b01c97fbbbf77
4
+ data.tar.gz: 9c14bb68844fd3c46315215b6e60a9f35b3ebd9c416a8fad96552e361e061f30
5
5
  SHA512:
6
- metadata.gz: 31f868d8ea6bf2b83cc8aab8b56f52726dd96cea08ddf49d38aacab0ac6e7712e69a7d3f9944946ed575a9246c3e0c4b00756ed512dd5d124a0abfdff342f4de
7
- data.tar.gz: a7a5d8b99c80b173e97f014029f1972ee74190d7fa4ae97a8bc468606e80d0e87625838312b62fa8a69f2d16ff373c11bb4bc10e73a5cf0872da3287bba69ad7
6
+ metadata.gz: fd4cb6930f617bcbc033d1366a69a0f11911b6293145e37a30d149ecb7a3b54fc2c2cda287294105ca4a5d1b9598765318a9291e5999bafefe6a066be27b1ecb
7
+ data.tar.gz: 9cf023ac4edeb2d13bb063e62f5fb73b61405e3e7d12e63b5350de1dab920ff5fa8a9bb3425f76648e4fa8bc1254392d1fb0a7b7dbfb13603cf8dc77415ad2d3
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,24 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.2.5] - 2026-06-13
34
+
35
+ - TAG: [v2.2.5][2.2.5t]
36
+ - COVERAGE: 92.29% -- 3818/4137 lines in 28 files
37
+ - BRANCH COVERAGE: 73.49% -- 1516/2063 branches in 28 files
38
+ - 67.00% documented
39
+
40
+ ### Changed
41
+
42
+ - `kettle-gha-sha-pins --upgrade major` now supports major-line action tags
43
+ such as `v2`, while patch and minor upgrade targeting remain limited to full
44
+ `x.y.z` SemVer tags.
45
+
46
+ ### Fixed
47
+
48
+ - `kettle-gha-sha-pins` persistent cache writes no longer crash for actions
49
+ whose releases and tags only include major-line versions such as `v2`.
50
+
33
51
  ## [2.2.4] - 2026-06-12
34
52
 
35
53
  - TAG: [v2.2.4][2.2.4t]
@@ -2042,7 +2060,9 @@ Please file a bug if you notice a violation of semantic versioning.
2042
2060
  - Selecting will run the selected workflow via `act`
2043
2061
  - This may move to its own gem in the future.
2044
2062
 
2045
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.4...HEAD
2063
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.5...HEAD
2064
+ [2.2.5]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.4...v2.2.5
2065
+ [2.2.5t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.5
2046
2066
  [2.2.4]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.3...v2.2.4
2047
2067
  [2.2.4t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.4
2048
2068
  [2.2.3]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.2...v2.2.3
data/README.md CHANGED
@@ -854,7 +854,7 @@ Thanks for RTFM. ☺️
854
854
  [📌gitmoji]: https://gitmoji.dev
855
855
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
856
856
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
857
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.129-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
857
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.137-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
858
858
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
859
859
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
860
860
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -882,7 +882,7 @@ Thanks for RTFM. ☺️
882
882
  | Package | kettle-dev |
883
883
  | Description | 🍲 Kettle::Dev is a meta tool from kettle-rb to streamline development and testing. Acts as a shim dependency, pulling in many other dependencies, to give you OOTB productivity with a RubyGem, or Ruby app project. Configures a complete set of Rake tasks, for all the libraries is brings in, so they arrive ready to go. Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev |
884
884
  | Homepage | https://github.com/kettle-dev/kettle-dev |
885
- | Source | https://github.com/kettle-dev/kettle-dev/tree/v2.2.3 |
885
+ | Source | https://github.com/kettle-dev/kettle-dev/tree/v2.2.4 |
886
886
  | License | `AGPL-3.0-only` |
887
887
  | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://opencollective.com/kettle-rb, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-dev, https://www.buymeacoffee.com/pboling |
888
888
  <!-- kettle-jem:metadata:end -->
@@ -478,7 +478,7 @@ module Kettle
478
478
 
479
479
  def parse_release_version(value)
480
480
  normalized = value.to_s.sub(/\A[vV]/, "")
481
- return nil unless normalized.match?(/\A\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?\z/)
481
+ return nil unless normalized.match?(/\A(?:\d+|\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?)\z/)
482
482
 
483
483
  Gem::Version.new(normalized)
484
484
  rescue ArgumentError
@@ -504,11 +504,13 @@ module Kettle
504
504
  def choose_upgrade_target(current_version, versions, level)
505
505
  current = parse_release_version(current_version)
506
506
  return nil if current.nil?
507
+ return nil if level != "major" && major_line_version?(current_version)
507
508
 
508
509
  candidates = versions.select do |entry|
509
510
  next false unless entry[:version_obj].is_a?(Gem::Version)
510
511
  next false unless entry[:version_obj] > current
511
512
  next false if entry[:version_obj].prerelease? && !current.prerelease?
513
+ next false if level != "major" && major_line_version?(entry[:version])
512
514
 
513
515
  case level
514
516
  when "patch"
@@ -523,6 +525,10 @@ module Kettle
523
525
  candidates.max_by { |entry| entry[:version_obj] }
524
526
  end
525
527
 
528
+ def major_line_version?(value)
529
+ value.to_s.match?(/\A\d+\z/)
530
+ end
531
+
526
532
  def latest_outdated_target(current_version, versions)
527
533
  current = parse_release_version(current_version)
528
534
  return nil if current.nil?
@@ -1051,11 +1057,13 @@ module Kettle
1051
1057
 
1052
1058
  deserialized.merge(cached_at: entry["cached_at"].to_s)
1053
1059
  end
1060
+ return {} if entries.empty?
1054
1061
 
1062
+ full_semver_entries = entries.reject { |entry| major_line_version?(entry[:version]) }
1055
1063
  {
1056
- "patch" => entries.group_by { |entry| entry[:version_obj].segments[0, 2].join(".") }
1064
+ "patch" => full_semver_entries.group_by { |entry| entry[:version_obj].segments[0, 2].join(".") }
1057
1065
  .transform_values { |group| serialize_target(group.max_by { |entry| entry[:version_obj] }) },
1058
- "minor" => entries.group_by { |entry| entry[:version_obj].segments[0].to_s }
1066
+ "minor" => full_semver_entries.group_by { |entry| entry[:version_obj].segments[0].to_s }
1059
1067
  .transform_values { |group| serialize_target(group.max_by { |entry| entry[:version_obj] }) },
1060
1068
  "major" => {"*" => serialize_target(entries.max_by { |entry| entry[:version_obj] })}
1061
1069
  }
@@ -1076,6 +1084,10 @@ module Kettle
1076
1084
  nil
1077
1085
  end
1078
1086
 
1087
+ def major_line_version?(value)
1088
+ value.to_s.match?(/\A\d+\z/)
1089
+ end
1090
+
1079
1091
  def fresh_entry?(entry)
1080
1092
  cached_at = Time.iso8601(entry["cached_at"].to_s)
1081
1093
  cached_at >= @clock.call - @ttl_seconds
@@ -1191,7 +1203,7 @@ module Kettle
1191
1203
 
1192
1204
  def parse_release_version_text(value)
1193
1205
  normalized = value.to_s.sub(/\A[vV]/, "")
1194
- return nil unless normalized.match?(/\A\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?\z/)
1206
+ return nil unless normalized.match?(/\A(?:\d+|\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?)\z/)
1195
1207
 
1196
1208
  Gem::Version.new(normalized)
1197
1209
  rescue ArgumentError
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.2.4"
6
+ VERSION = "2.2.5"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
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: 2.2.4
4
+ version: 2.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -338,10 +338,10 @@ licenses:
338
338
  - AGPL-3.0-only
339
339
  metadata:
340
340
  homepage_uri: https://kettle-dev.galtzo.com
341
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.4
342
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.4/CHANGELOG.md
341
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.5
342
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.5/CHANGELOG.md
343
343
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
344
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.4
344
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.5
345
345
  funding_uri: https://github.com/sponsors/pboling
346
346
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
347
347
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file