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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +21 -1
- data/README.md +2 -2
- data/lib/kettle/dev/gha_sha_pins_cli.rb +16 -4
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ba33ed9512e4bc65a82886c163c0c01c3b8c59895326fb64c64b01c97fbbbf77
|
|
4
|
+
data.tar.gz: 9c14bb68844fd3c46315215b6e60a9f35b3ebd9c416a8fad96552e361e061f30
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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" =>
|
|
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" =>
|
|
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
|
|
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
|
data/lib/kettle/dev/version.rb
CHANGED
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
|
+
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.
|
|
342
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.
|
|
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.
|
|
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
|