kettle-dev 1.1.36 → 1.1.38

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: b545b3e57dcdffa09b3195b7791e53fa5856a30a14ceef4038b3720a743c9f87
4
- data.tar.gz: 2b123d25738a5c95b878a45a6aecf727f88c8f76f39c30de267007500480c31c
3
+ metadata.gz: 63bceb44139dbf68a25382e32ad8cecc5f75bba958d8875839c72d80038fa01f
4
+ data.tar.gz: a0542131ff18a805e7dbf1d96af7ce25d79cde4826b2ef31ef798e19b19b93c1
5
5
  SHA512:
6
- metadata.gz: 5aef7adb48e8d7ee2fe92cb767ed6cbc19afbbe7b39da1007d587914f51db177ab5a944c8818a2facf708368234a442099e873d057ad08941508f0fb210621cf
7
- data.tar.gz: 615ca36572d9d41c37bc3f890f5269775ac34856bee5cb27f1b9fec0fcb66e9056da3a2e3072936d732ae8f97fa7fcfc9ec6195efd6afa77c9303886c7060690
6
+ metadata.gz: 0054fd324cb333a5aa1697c101b9e293dd6aa01999d301365e2d081eb169116d9206b4b8a29dfde49cbf97b7ed099eed32846c0349b24f29e48b57fb3391e6e2
7
+ data.tar.gz: 6376b19444abf7ee6355ea8e364ff0d54a81baf40b824aae992cde7417092bffae057aad2275a7458cc8e0cc7e34de6f0db42ea3c2070c392ce9fb798125f66e
checksums.yaml.gz.sig CHANGED
Binary file
@@ -47,9 +47,7 @@ jobs:
47
47
  rubygems: latest
48
48
  bundler: latest
49
49
 
50
- # truffleruby-24.1
51
- # (according to documentation: targets Ruby 3.3 compatibility)
52
- # (according to runtime: targets Ruby 3.2 compatibility)
50
+ # truffleruby-24.1 (targets Ruby 3.3 compatibility)
53
51
  - ruby: "truffleruby"
54
52
  appraisal: "dep-heads"
55
53
  exec_cmd: "rake test"
@@ -50,8 +50,8 @@ jobs:
50
50
  appraisal: "ruby-3-1"
51
51
  exec_cmd: "rake test"
52
52
  gemfile: "Appraisal.root"
53
- rubygems: latest
54
- bundler: latest
53
+ rubygems: '3.6.9'
54
+ bundler: '2.6.9'
55
55
 
56
56
  steps:
57
57
  - name: Checkout
data/.gitignore CHANGED
@@ -4,6 +4,7 @@
4
4
  *.gem
5
5
 
6
6
  # Bundler
7
+ /vendor/bundle/
7
8
  /.bundle/
8
9
  /gemfiles/*.lock
9
10
  /gemfiles/.bundle/
data/CHANGELOG.md CHANGED
@@ -30,6 +30,38 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.1.38] - 2025-10-21
34
+
35
+ - TAG: [v1.1.38][1.1.38t]
36
+ - COVERAGE: 96.04% -- 3949/4112 lines in 26 files
37
+ - BRANCH COVERAGE: 80.80% -- 1633/2021 branches in 26 files
38
+ - 79.68% documented
39
+
40
+ ### Changed
41
+
42
+ - legacy ruby 3.1 pinned to bundler 2.6.9
43
+
44
+ ### Fixed
45
+
46
+ - Corrected typo: truffleruby-24.1 (targets Ruby 3.3 compatibility)
47
+
48
+ ## [1.1.37] - 2025-10-21
49
+
50
+ - TAG: [v1.1.37][1.1.37t]
51
+ - COVERAGE: 96.04% -- 3949/4112 lines in 26 files
52
+ - BRANCH COVERAGE: 80.80% -- 1633/2021 branches in 26 files
53
+ - 79.68% documented
54
+
55
+ ### Added
56
+
57
+ - kettle-release: improved --help
58
+ - improved documentation of kettle-release
59
+ - improved documentation of spec setup with kettle-test
60
+
61
+ ### Changed
62
+
63
+ - upgrade to kettle-test v1.0.6
64
+
33
65
  ## [1.1.36] - 2025-10-20
34
66
 
35
67
  - TAG: [v1.1.36][1.1.36t]
@@ -1134,7 +1166,11 @@ Please file a bug if you notice a violation of semantic versioning.
1134
1166
  - Selecting will run the selected workflow via `act`
1135
1167
  - This may move to its own gem in the future.
1136
1168
 
1137
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.36...HEAD
1169
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.38...HEAD
1170
+ [1.1.38]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.37...v1.1.38
1171
+ [1.1.38t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.38
1172
+ [1.1.37]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.36...v1.1.37
1173
+ [1.1.37t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.37
1138
1174
  [1.1.36]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.35...v1.1.36
1139
1175
  [1.1.36t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.36
1140
1176
  [1.1.35]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.34...v1.1.35
data/README.md CHANGED
@@ -213,6 +213,21 @@ This gem integrates tightly with [kettle-test](https://github.com/kettle-rb/kett
213
213
 
214
214
  ```ruby
215
215
  require "kettle/test/rspec"
216
+
217
+ # ... any other config you need to do.
218
+
219
+ # NOTE: Gemfiles for older rubies (< 2.7) won't have kettle-soup-cover.
220
+ # The rescue LoadError handles that scenario.
221
+ begin
222
+ require "kettle-soup-cover"
223
+ require "simplecov" if Kettle::Soup::Cover::DO_COV # `.simplecov` is run here!
224
+ rescue LoadError => error
225
+ # check the error message, and re-raise if not what is expected
226
+ raise error unless error.message.include?("kettle")
227
+ end
228
+
229
+ # This gem (or app)
230
+ require "gem-under-test"
216
231
  ```
217
232
 
218
233
  ### Rakefile
@@ -457,24 +472,25 @@ What it does:
457
472
  - Exports `SOURCE_DATE_EPOCH`, builds (optionally signed), creates gem checksums, and runs `bundle exec rake release` (prompts for signing key + RubyGems MFA OTP as needed).
458
473
  - Options:
459
474
  - start_step map (skip directly to a phase):
460
- - 1: Ensure Bundler >= 2.7.0 and begin full flow
461
- - 2: Version detection + sanity checks + prompt to confirm version.rb and CHANGELOG.md
462
- - 3: Run bin/setup
463
- - 4: Run bin/rake (default task)
464
- - 5: Run appraisal:update when Appraisals exists (skip otherwise)
465
- - 6: Verify git user.name/email and commit release prep "🔖 Prepare release vX.Y.Z"
466
- - 7: Optionally run local CI with nektos/act before pushing (see K_RELEASE_LOCAL_CI, K_RELEASE_LOCAL_CI_WORKFLOW)
467
- - 8: Ensure trunk is up-to-date and reconcile with GitHub remote if needed
468
- - 9: Push current branch to configured remotes (or default), force-pushing on retry when needed
469
- - 10: Monitor CI after push (GitHub Actions and/or GitLab pipelines); progress bar; aborts on failure
470
- - 11: Merge feature branch into trunk and push
471
- - 12: Checkout trunk and pull latest
472
- - 13: Signing checks and guidance (abort when signing enabled but cert missing); respect SKIP_GEM_SIGNING
473
- - 14: Build gem (honors SKIP_GEM_SIGNING via env prefix)
474
- - 15: Release via `bundle exec rake release` (also creates git tag)
475
- - 16: Generate and validate gem checksums (bin/gem_checksums)
476
- - 17: Create GitHub release from CHANGELOG when GITHUB_TOKEN present
477
- - 18: Push git tags to remotes (to "all" remote only when present; otherwise to each remote)
475
+ 1. Verify Bundler >= 2.7 (always runs; start at 1 to do everything)
476
+ 2. Detect version; RubyGems sanity check; confirm CHANGELOG/version; sync copyright years; update badges/headers
477
+ 3. Run bin/setup
478
+ 4. Run bin/rake (default task)
479
+ 5. Run bin/rake appraisal:update if Appraisals present
480
+ 6. Ensure git user configured; commit release prep
481
+ 7. Optional local CI with `act` (controlled by K_RELEASE_LOCAL_CI)
482
+ 8. Ensure trunk in sync across remotes; rebase feature as needed
483
+ 9. Push current branch to remotes (or 'all' remote)
484
+ 10. Monitor CI after push; abort on failures
485
+ 11. Merge feature into trunk and push
486
+ 12. Checkout trunk and pull latest
487
+ 13. Gem signing checks/guidance (skip with SKIP_GEM_SIGNING=true)
488
+ 14. Build gem (bundle exec rake build)
489
+ 15. Release gem (bundle exec rake release)
490
+ 16. Generate and validate checksums (bin/gem_checksums)
491
+ 17. Push checksum commit
492
+ 18. Create GitHub Release (requires GITHUB_TOKEN)
493
+ 19. Push tags to remotes (final)
478
494
  - Examples:
479
495
  - After intermittent CI failure, restart from monitoring: `bundle exec kettle-release start_step=10`
480
496
  - Tips:
data/Rakefile.example CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # kettle-dev Rakefile v1.1.36 - 2025-10-20
3
+ # kettle-dev Rakefile v1.1.38 - 2025-10-21
4
4
  # Ruby 2.3 (Safe Navigation) or higher required
5
5
  #
6
6
  # MIT License (see License.txt)
data/exe/kettle-release CHANGED
@@ -43,28 +43,47 @@ end
43
43
  # Do not guard with __FILE__ == $PROGRAM_NAME because binstubs use Kernel.load.
44
44
  if ARGV.include?("-h") || ARGV.include?("--help")
45
45
  puts <<~USAGE
46
- Usage: kettle-release [start_step=<number>]
46
+ Usage: kettle-release [start_step=<1-19>]
47
47
 
48
- Automates the release flow for a Ruby gem in the host project:
48
+ Automates the release flow for a Ruby gem in the host project.
49
+
50
+ Start steps (use start_step=<n> to begin at that step):
51
+ 1. Verify Bundler >= 2.7 (always runs; start at 1 to do everything)
52
+ 2. Detect version; RubyGems sanity check; confirm CHANGELOG/version; sync copyright years; update badges/headers
53
+ 3. Run bin/setup
54
+ 4. Run bin/rake (default task)
55
+ 5. Run bin/rake appraisal:update if Appraisals present
56
+ 6. Ensure git user configured; commit release prep
57
+ 7. Optional local CI with `act` (controlled by K_RELEASE_LOCAL_CI)
58
+ 8. Ensure trunk in sync across remotes; rebase feature as needed
59
+ 9. Push current branch to remotes (or 'all' remote)
60
+ 10. Monitor CI after push; abort on failures
61
+ 11. Merge feature into trunk and push
62
+ 12. Checkout trunk and pull latest
63
+ 13. Gem signing checks/guidance (skip with SKIP_GEM_SIGNING=true)
64
+ 14. Build gem (bundle exec rake build)
65
+ 15. Release gem (bundle exec rake release)
66
+ 16. Generate and validate checksums (bin/gem_checksums)
67
+ 17. Push checksum commit
68
+ 18. Create GitHub Release (requires GITHUB_TOKEN)
69
+ 19. Push tags to remotes (final)
49
70
 
50
71
  Options:
51
- start_step=<number> # skip directly to the numbered step (e.g., 10 for CI validation)
52
- - Runs bin/setup and bin/rake sanity checks
53
- - Prompts to confirm version and changelog updates
54
- - Commits a release prep change
55
- - Ensures trunk is up-to-date, pushes branch, and monitors CI (GitHub/GitLab)
56
- - Merges feature into trunk upon CI success
57
- - Builds and releases the gem
58
- - Generates checksums (via bin/gem_checksums), then pushes the checksum commit
59
- - Optionally creates a GitHub Release
60
- - Pushes tags to remotes at the end
72
+ start_step=<number> # Begin at the numbered step above (e.g., 10 to resume at CI monitoring)
61
73
 
62
74
  Environment:
63
- SKIP_GEM_SIGNING=true # skip gem signing during build/release
64
- GEM_CERT_USER=<user> # selects certs/<user>.pem for signing
65
- GITHUB_TOKEN / GH_TOKEN # optional, to query GitHub Actions
66
- GITLAB_TOKEN / GL_TOKEN # optional, to query GitLab pipelines
67
- DEBUG=true # print backtraces on errors
75
+ SKIP_GEM_SIGNING=true # Build/release unsigned; avoids PEM password prompts
76
+ GEM_CERT_USER=<user> # Select certs/<user>.pem for signing
77
+ K_RELEASE_LOCAL_CI=ask|1|0 # Use 'act' locally before push; 'ask' prompts, '1' forces, default off
78
+ K_RELEASE_LOCAL_CI_WORKFLOW # Name of workflow (without .yml) for local CI; defaults to locked_deps or first
79
+ GITHUB_TOKEN / GH_TOKEN # Optional; enables GitHub release creation and API queries
80
+ GITLAB_TOKEN / GL_TOKEN # Optional; enables GitLab API queries when applicable
81
+ DEBUG=true # Print backtraces on errors
82
+
83
+ Examples:
84
+ kettle-release # full flow from the top (start_step=1)
85
+ kettle-release start_step=10 # resume by monitoring CI for the current branch
86
+ SKIP_GEM_SIGNING=true kettle-release start_step=14 # build+release without signing
68
87
  USAGE
69
88
  exit 0
70
89
  end
@@ -77,7 +96,7 @@ begin
77
96
  Kettle::Dev::ReleaseCLI.new(start_step: start_step).run
78
97
  rescue LoadError => e
79
98
  warn("#{script_basename}: could not load dependency: #{e.class}: #{e.message}")
80
- warn(e.backtrace.join("\n")) if ENV["DEBUG"]
99
+ warn(Array(e.backtrace).join("\n")) if ENV["DEBUG"]
81
100
  exit(1)
82
101
  rescue SystemExit => e
83
102
  # Preserve exit status, but ensure at least a newline so shells don't show an empty line only.
@@ -85,6 +104,6 @@ rescue SystemExit => e
85
104
  raise
86
105
  rescue StandardError => e
87
106
  warn("#{script_basename}: unexpected error: #{e.class}: #{e.message}")
88
- warn(e.backtrace.join("\n"))
107
+ warn(Array(e.backtrace).join("\n"))
89
108
  exit(1)
90
109
  end
@@ -115,7 +115,7 @@ Gem::Specification.new do |spec|
115
115
  # and preferably a modular one (see gemfiles/modular/*.gemfile).
116
116
 
117
117
  # Dev, Test, & Release Tasks
118
- spec.add_development_dependency("{KETTLE|DEV|GEM}", "~> 1.1") # ruby >= 2.3.0
118
+ spec.add_development_dependency("{KETTLE|DEV|GEM}", "~> 1.1") # ruby >= 2.3.0
119
119
 
120
120
  # Security
121
121
  spec.add_development_dependency("bundler-audit", "~> 0.9.2") # ruby >= 2.0.0
@@ -128,7 +128,7 @@ Gem::Specification.new do |spec|
128
128
 
129
129
  # Testing
130
130
  spec.add_development_dependency("appraisal2", "~> 3.0") # ruby >= 1.8.7, for testing against multiple versions of dependencies
131
- spec.add_development_dependency("kettle-test", "~> 1.0", ">= 1.0.5") # ruby >= 2.3
131
+ spec.add_development_dependency("kettle-test", "~> 1.0", ">= 1.0.6") # ruby >= 2.3
132
132
 
133
133
  # Releasing
134
134
  spec.add_development_dependency("ruby-progressbar", "~> 1.13") # ruby >= 0
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The gem version.
8
8
  # @return [String]
9
- VERSION = "1.1.36"
9
+ VERSION = "1.1.38"
10
10
 
11
11
  module_function
12
12
 
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: 1.1.36
4
+ version: 1.1.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -108,7 +108,7 @@ dependencies:
108
108
  version: '1.0'
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: 1.0.5
111
+ version: 1.0.6
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
@@ -118,7 +118,7 @@ dependencies:
118
118
  version: '1.0'
119
119
  - - ">="
120
120
  - !ruby/object:Gem::Version
121
- version: 1.0.5
121
+ version: 1.0.6
122
122
  - !ruby/object:Gem::Dependency
123
123
  name: ruby-progressbar
124
124
  requirement: !ruby/object:Gem::Requirement
@@ -395,10 +395,10 @@ licenses:
395
395
  - MIT
396
396
  metadata:
397
397
  homepage_uri: https://kettle-dev.galtzo.com/
398
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.36
399
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.36/CHANGELOG.md
398
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.38
399
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.38/CHANGELOG.md
400
400
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
401
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.36
401
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.38
402
402
  funding_uri: https://github.com/sponsors/pboling
403
403
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
404
404
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file