kettle-dev 3.1.13 → 3.1.14

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: fee58bbb5088875b1370305934e2816bc7b1f7ad5103776d7877f7bfb8383bd2
4
- data.tar.gz: 75dd9745eda2bd54c6dcf1a9a5ae9bf8b36fdfcb2edd2e8a3c26ab3bde366aa6
3
+ metadata.gz: f91c0c4ef8cfb88983835109c778d084a739a78ed4cfc83318be404cd2ba9eee
4
+ data.tar.gz: c16964dc845379bc31fa3106af5567d950d00a2a2741bb79e50f816235420f41
5
5
  SHA512:
6
- metadata.gz: e21b6253a77ecf67f42b54a464405baa078615cc99585f1146f432135f347f5fc0e7c4044137841f3da5f589486fc3971cd8b5dbe6285bf1f194de9b7bbd8359
7
- data.tar.gz: 0dd4e28b43e6d4ba4ae3481d0464fbeb8b1c7aa39ae1628f0fc9c2ce80fe9d850a738d62414ceda91f6daf43887ee4b400c6621df7b5b1c473bfaa934ade7941
6
+ metadata.gz: 7b9d783784e66864cd733aa63abdfb15161b93224b81bd8d5db9a2a2dc71cd3ca45ef1bd87f389895b9ef3e78d2d7c3432b4ea78ef176e70c3e6936eac9e5ce7
7
+ data.tar.gz: a7fb4dedb0aeb325ffca2a717e0700ae2d37a73ef38bde1006bfd5b8926bf6b6d9ebedefbe45400ba885c1aaa523db229854b6a0f0174a42ca0229ce5b47d925
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,42 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.1.14] - 2026-10-16
34
+
35
+ - TAG: [v3.1.14][3.1.14t]
36
+ - COVERAGE: 91.81% -- 5671/6177 lines in 47 files
37
+ - BRANCH COVERAGE: 75.74% -- 2173/2869 branches in 47 files
38
+ - 53.23% documented
39
+
40
+ ### Changed
41
+
42
+ - [kc] kettle-jem/prepare: updated 5 project files:
43
+ - dependencies (5)
44
+
45
+ - [kc] kettle-jem/template: updated 3 project files:
46
+ - code and tests (2)
47
+ - other (1)
48
+
49
+ - ReleaseSecretsDoctor accepts an injectable provider_factory (defaulting to ReleaseSecrets::Factory) so provider construction can be faked without mocks; RSpec stubs do not cross the thread boundary the thread shape spawns, which let a real 1Password lookup escape during specs
50
+
51
+ ### Deprecated
52
+
53
+ - [kc] kettle-changelog-transition-deprecation: Kettle::Dev::ChangelogCLI and Kettle::Dev::ChangelogEntryAdder: the transition classes retained after the kettle-changelog extraction now warn on load and will be removed in kettle-dev 4.0; use Kettle::Changelog::CLI / Kettle::Changelog::EntryAdder from the kettle-changelog gem instead. Behavior coverage lives in the extracted gem suite, and both files are excluded from this gem coverage tracking via simplecov:disable until removal
54
+
55
+ ### Fixed
56
+
57
+ - Sync kettle-gha-pins CLI check-mode output spec with the full fix hint shipped in kettle-gha-pins 0.3.18: the recommended fix is now the copy-paste chain kettle-gha-pins --commit --push --upgrade <level> followed by the resume-command continuation line
58
+
59
+ - Slim gha_sha_pins_cli_spec to the kettle-dev-owned surface (alias identity + LoadError fallback); the 900 lines of CLI behavior coverage duplicated kettle-gha-pins own suite and only went red in this repo when a release-time bundle re-resolution picked up a newer kettle-gha-pins
60
+
61
+ - Cover ReleaseSecretsDoctor same-process and thread shapes, the keepalive pulse loop, and OTP lookup, restoring line coverage above the 91 percent floor in the slim release-time coverage bundle after the deprecated changelog transition classes were excluded from tracking
62
+
63
+ - Spec suite can no longer trigger real 1Password authorization prompts: a globally included with-mocked-release-secrets shared context stubs ReleaseSecrets::Factory.build to the no-op base Provider, with :real_release_secrets as the opt-out tag for provider-construction specs; thread-shape doctor specs now use plain thread-safe fakes via the injected factory
64
+
65
+ - Deflake GitHub-release specs on TruffleRuby: the Net::HTTP.start cardinality assertions are engine-fragile under WebMock (the start call can be recorded twice on the truffleruby lane), so they now assert at_least(:once); the request-level POST assertions carry the real contract
66
+
67
+ - Keepalive pulse spec no longer depends on real-time sleep precision: the monotonic clock is stubbed to advance 5ms per read, making the loop deterministic (the real-clock version flaked on macOS CI when a 5ms sleep overshot the 20ms deadline and zero pulses ran)
68
+
33
69
  ## [3.1.13] - 2026-10-14
34
70
 
35
71
  - TAG: [v3.1.13][3.1.13t]
@@ -4094,7 +4130,9 @@ Please file a bug if you notice a violation of semantic versioning.
4094
4130
  - Selecting will run the selected workflow via `act`
4095
4131
  - This may move to its own gem in the future.
4096
4132
 
4097
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.13...HEAD
4133
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.14...HEAD
4134
+ [3.1.14]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.13...v3.1.14
4135
+ [3.1.14t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.14
4098
4136
  [3.1.13]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.12...v3.1.13
4099
4137
  [3.1.13t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.13
4100
4138
  [3.1.12]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.11...v3.1.12
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-7.022-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1087
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.177-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
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # simplecov:disable -- deprecated transition class, removal in kettle-dev 4.0; behavior coverage lives in the kettle-changelog gem
4
+
3
5
  require "open3"
4
6
  require "json"
5
7
  require "net/http"
@@ -8,6 +10,8 @@ require "fileutils"
8
10
  require "yaml"
9
11
  require "kettle/ndjson"
10
12
 
13
+ warn("Kettle::Dev::ChangelogCLI is deprecated and will be removed in kettle-dev 4.0; use Kettle::Changelog::CLI from the kettle-changelog gem instead")
14
+
11
15
  module Kettle
12
16
  module Dev
13
17
  # CLI for updating CHANGELOG.md with new version sections
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # simplecov:disable -- deprecated transition class, removal in kettle-dev 4.0; behavior coverage lives in the kettle-changelog gem
4
+
5
+ warn("Kettle::Dev::ChangelogEntryAdder is deprecated and will be removed in kettle-dev 4.0; use Kettle::Changelog::EntryAdder from the kettle-changelog gem instead")
6
+
3
7
  module Kettle
4
8
  module Dev
5
9
  class ChangelogEntryAdder
@@ -34,11 +34,12 @@ module Kettle
34
34
  }
35
35
  end
36
36
 
37
- def initialize(options:, program_name:, output: $stdout, system_runner: Kernel)
37
+ def initialize(options:, program_name:, output: $stdout, system_runner: Kernel, provider_factory: Kettle::Dev::ReleaseSecrets::Factory)
38
38
  @options = normalize_options(options)
39
39
  @program_name = program_name
40
40
  @output = output
41
41
  @system_runner = system_runner
42
+ @provider_factory = provider_factory
42
43
  end
43
44
 
44
45
  def run
@@ -85,7 +86,7 @@ module Kettle
85
86
 
86
87
  private
87
88
 
88
- attr_reader :options, :program_name, :output, :system_runner
89
+ attr_reader :options, :program_name, :output, :system_runner, :provider_factory
89
90
 
90
91
  def normalize_options(raw_options)
91
92
  {
@@ -98,7 +99,7 @@ module Kettle
98
99
  end
99
100
 
100
101
  def provider_for(current_options)
101
- Kettle::Dev::ReleaseSecrets::Factory.build(provider_name: current_options.fetch(:provider))
102
+ provider_factory.build(provider_name: current_options.fetch(:provider))
102
103
  end
103
104
 
104
105
  def run_same_process(current_options)
@@ -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.13"
8
+ VERSION = "3.1.14"
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.13
4
+ version: 3.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -60,7 +60,7 @@ dependencies:
60
60
  version: '0.3'
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 0.3.17
63
+ version: 0.3.18
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,7 +70,7 @@ dependencies:
70
70
  version: '0.3'
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 0.3.17
73
+ version: 0.3.18
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: kettle-ndjson
76
76
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  version: '0.1'
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 0.1.19
83
+ version: 0.1.20
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  version: '0.1'
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 0.1.19
93
+ version: 0.1.20
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: kettle-rb
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -100,7 +100,7 @@ dependencies:
100
100
  version: '0.1'
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.17
103
+ version: 0.1.18
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -110,7 +110,7 @@ dependencies:
110
110
  version: '0.1'
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: 0.1.17
113
+ version: 0.1.18
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: kettle-test
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '2.0'
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 2.0.25
123
+ version: 2.0.27
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  version: '2.0'
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 2.0.25
133
+ version: 2.0.27
134
134
  - !ruby/object:Gem::Dependency
135
135
  name: ruby-progressbar
136
136
  requirement: !ruby/object:Gem::Requirement
@@ -273,20 +273,20 @@ dependencies:
273
273
  requirements:
274
274
  - - "~>"
275
275
  - !ruby/object:Gem::Version
276
- version: '3.2'
276
+ version: '4.0'
277
277
  - - ">="
278
278
  - !ruby/object:Gem::Version
279
- version: 3.2.17
279
+ version: 4.0.0
280
280
  type: :development
281
281
  prerelease: false
282
282
  version_requirements: !ruby/object:Gem::Requirement
283
283
  requirements:
284
284
  - - "~>"
285
285
  - !ruby/object:Gem::Version
286
- version: '3.2'
286
+ version: '4.0'
287
287
  - - ">="
288
288
  - !ruby/object:Gem::Version
289
- version: 3.2.17
289
+ version: 4.0.0
290
290
  - !ruby/object:Gem::Dependency
291
291
  name: stone_checksums
292
292
  requirement: !ruby/object:Gem::Requirement
@@ -422,10 +422,10 @@ licenses:
422
422
  - AGPL-3.0-only
423
423
  metadata:
424
424
  homepage_uri: https://kettle-dev.galtzo.com
425
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.13
426
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.13/CHANGELOG.md
425
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.14
426
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.14/CHANGELOG.md
427
427
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
428
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.13
428
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.14
429
429
  funding_uri: https://github.com/sponsors/pboling
430
430
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
431
431
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file