kettle-dev 2.2.8 → 2.2.9

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: 20e42b5ed4a5e7b52a046fa7cfdfe63c08963947c2414aa4cf22251419ffb853
4
- data.tar.gz: e578b54456e497e115ccdb9bb54efc4d32be13e2b294d2b0857964b75bc5c7ff
3
+ metadata.gz: 3bee699f7f3622c9ae1e63f19cec10ec46a54fe67bd97869169b309bbbcb4bb2
4
+ data.tar.gz: '099d1ddeab902593baa43b8a1fe6de1b899f1ab3bdff9bd6ddba3363d5627b02'
5
5
  SHA512:
6
- metadata.gz: 676baf6a4ecffe8745d94c3016b402e8c002f98ca61f9ea478b9e629d42c7c57a82795682d49c853c19fff74982e8c70af5cf75b1e0eb6b28ce2fb904995762e
7
- data.tar.gz: a000e3b43e2ea900fcdb03cb2471db4a8c312113c753524ca7be658119c81bba1cfb7113e0ccb576a2cf6b471c472fc01c6b71afc4eebf7322b3760e3a848c4c
6
+ metadata.gz: 7af3f2c8a7a278416c97a9a006d4a45946c371fcf75d11f9e6dc29b2a29fbc629fa53fb647cc3fbab0b7a18436dd4ecfa1139fcb993f51c89c798c7f3e95a6c0
7
+ data.tar.gz: 78c1377327823ab8ae01bb76f4e318fc501fc0ba8e3c60ffc95dc661a68853a338bc501c9ea631992ea6cc7bf5b31b74865ed3a503770c6c9223e253ece33403
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,23 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.2.9] - 2026-06-14
34
+
35
+ - TAG: [v2.2.9][2.2.9t]
36
+ - COVERAGE: 92.57% -- 3863/4173 lines in 28 files
37
+ - BRANCH COVERAGE: 74.00% -- 1534/2073 branches in 28 files
38
+ - 65.38% documented
39
+
40
+ ### Fixed
41
+
42
+ - `kettle-gha-sha-pins --check` no longer fails solely because releases outside
43
+ the selected `--upgrade` policy exist, and `kettle-pre-release` now validates
44
+ workflow pins with the inclusive `major` policy used for release readiness.
45
+
46
+ - `kettle-gha-sha-pins --write` now handles major-line adjacent version comments
47
+ such as `# v7` idempotently instead of repeatedly planning the same
48
+ `update_version_comment` change.
49
+
33
50
  ## [2.2.8] - 2026-06-13
34
51
 
35
52
  - TAG: [v2.2.8][2.2.8t]
@@ -2109,7 +2126,9 @@ Please file a bug if you notice a violation of semantic versioning.
2109
2126
  - Selecting will run the selected workflow via `act`
2110
2127
  - This may move to its own gem in the future.
2111
2128
 
2112
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.8...HEAD
2129
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.9...HEAD
2130
+ [2.2.9]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.8...v2.2.9
2131
+ [2.2.9t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.9
2113
2132
  [2.2.8]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.7...v2.2.8
2114
2133
  [2.2.8t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.2.8
2115
2134
  [2.2.7]: https://github.com/kettle-dev/kettle-dev/compare/v2.2.6...v2.2.7
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.171-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
857
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.173-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
@@ -33,6 +33,8 @@ module Kettle
33
33
  DEFAULT_UPGRADE_LEVEL = "patch"
34
34
  DEFAULT_CACHE_TTL_SECONDS = 24 * 60 * 60
35
35
  VALID_UPGRADE_LEVELS = %w[major minor patch].freeze
36
+ VERSION_COMMENT_SUFFIX_RE = /\A\s+#\s*v?(?<version>\d+(?:\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?)?)/
37
+ VERSION_COMMENT_REPLACEMENT_RE = /\A(?<prefix>\s+#\s*)v?\d+(?:\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?)?/
36
38
 
37
39
  def initialize(argv, err: $stderr)
38
40
  @argv = argv
@@ -215,7 +217,7 @@ module Kettle
215
217
 
216
218
  print_report(state)
217
219
  return 2 unless state[:failures].zero?
218
- return 3 if @options[:check] && (state[:updates].positive? || state[:outdated_pins].any?)
220
+ return 3 if @options[:check] && state[:updates].positive?
219
221
 
220
222
  0
221
223
  end
@@ -745,8 +747,8 @@ module Kettle
745
747
  return nil unless token_info[:token] == old_token
746
748
 
747
749
  suffix = raw[token_info[:span]..-1].to_s
748
- match = suffix.match(/\A\s+#\s*v?(\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?)/)
749
- match && match[1]
750
+ match = suffix.match(VERSION_COMMENT_SUFFIX_RE)
751
+ match && match[:version]
750
752
  end
751
753
 
752
754
  def build_replacement_from_line(text, line, col, old_token, new_ref, new_version = nil)
@@ -767,7 +769,7 @@ module Kettle
767
769
  new_scalar = rendered[:quoted]
768
770
  if new_version && token_info[:quote] == :plain
769
771
  suffix = raw[span..-1].to_s
770
- comment = suffix.match(/\A(?<prefix>\s+#\s*)v?\d+\.\d+\.\d+(?:[-.]?[0-9A-Za-z.-]+)?/)
772
+ comment = suffix.match(VERSION_COMMENT_REPLACEMENT_RE)
771
773
  if comment
772
774
  span += comment[0].length
773
775
  new_scalar += "#{comment[:prefix]}v#{new_version}"
@@ -902,7 +904,7 @@ module Kettle
902
904
  lines << "- #{change[:path]}:#{change[:line]} #{from} -> #{to} #{change[:reason]}"
903
905
  end
904
906
  end
905
- if @options[:check] && (state[:planned_changes].any? || state[:outdated_pins].any?)
907
+ if @options[:check] && state[:planned_changes].any?
906
908
  lines << ""
907
909
  lines << "Recommended fix: kettle-gha-sha-pins --write --upgrade #{@options[:upgrade]}"
908
910
  end
@@ -210,7 +210,7 @@ module Kettle
210
210
  # @return [void]
211
211
  def check_github_actions_sha_pins!
212
212
  puts "[kettle-pre-release] Check 1: Validate GitHub Actions SHA pins"
213
- status = Kettle::Dev::GhaShaPinsCLI.new(["--root", Dir.pwd, "--check"]).run!
213
+ status = Kettle::Dev::GhaShaPinsCLI.new(["--root", Dir.pwd, "--check", "--upgrade", "major"]).run!
214
214
  return nil if status.zero?
215
215
 
216
216
  Kettle::Dev::ExitAdapter.abort("GitHub Actions SHA pin validation failed")
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.2.8"
6
+ VERSION = "2.2.9"
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.8
4
+ version: 2.2.9
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.8
342
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.8/CHANGELOG.md
341
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.2.9
342
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.2.9/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.8
344
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.2.9
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