kettle-dev 1.1.36 → 1.1.37

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: c9fad405b0585e4d0a4f5651683dca26a005520d41b8a17ffa36cc9ab41cdd45
4
+ data.tar.gz: c02e4989597f4b2635daf24215d608b3855c7223799acc2049fe26de47f5ab37
5
5
  SHA512:
6
- metadata.gz: 5aef7adb48e8d7ee2fe92cb767ed6cbc19afbbe7b39da1007d587914f51db177ab5a944c8818a2facf708368234a442099e873d057ad08941508f0fb210621cf
7
- data.tar.gz: 615ca36572d9d41c37bc3f890f5269775ac34856bee5cb27f1b9fec0fcb66e9056da3a2e3072936d732ae8f97fa7fcfc9ec6195efd6afa77c9303886c7060690
6
+ metadata.gz: b7d4aad2935288d5e4a5c79613453c075c1b1896fc45b7a02db73f50c6fa7016f90a7d821720ec051962644d0b5b6a86dd85ed3c7b66541e5779ccfbbcd45766
7
+ data.tar.gz: 0de641cbe2fdf22fb4441dc7e92cf6deba7be4ac7fa31e35a3592afdcef6df76780ecd10c8ed0796de6a446c05bf15ca96ca4332ea0050dc2038c56b6b6d090e
checksums.yaml.gz.sig CHANGED
Binary file
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
@@ -20,8 +20,14 @@ Please file a bug if you notice a violation of semantic versioning.
20
20
 
21
21
  ### Added
22
22
 
23
+ - kettle-release: improved --help
24
+ - improved documentation of kettle-release
25
+ - improved documentation of spec setup with kettle-test
26
+
23
27
  ### Changed
24
28
 
29
+ - upgrade to kettle-test v1.0.6
30
+
25
31
  ### Deprecated
26
32
 
27
33
  ### Removed
@@ -30,6 +36,23 @@ Please file a bug if you notice a violation of semantic versioning.
30
36
 
31
37
  ### Security
32
38
 
39
+ ## [1.1.37] - 2025-10-21
40
+
41
+ - TAG: [v1.1.37][1.1.37t]
42
+ - COVERAGE: 96.04% -- 3949/4112 lines in 26 files
43
+ - BRANCH COVERAGE: 80.80% -- 1633/2021 branches in 26 files
44
+ - 79.68% documented
45
+
46
+ ### Added
47
+
48
+ - kettle-release: improved --help
49
+ - improved documentation of kettle-release
50
+ - improved documentation of spec setup with kettle-test
51
+
52
+ ### Changed
53
+
54
+ - upgrade to kettle-test v1.0.6
55
+
33
56
  ## [1.1.36] - 2025-10-20
34
57
 
35
58
  - TAG: [v1.1.36][1.1.36t]
@@ -1134,7 +1157,9 @@ Please file a bug if you notice a violation of semantic versioning.
1134
1157
  - Selecting will run the selected workflow via `act`
1135
1158
  - This may move to its own gem in the future.
1136
1159
 
1137
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.36...HEAD
1160
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.37...HEAD
1161
+ [1.1.37]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.36...v1.1.37
1162
+ [1.1.37t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.37
1138
1163
  [1.1.36]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.35...v1.1.36
1139
1164
  [1.1.36t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.36
1140
1165
  [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.37 - 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.37"
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.37
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.37
399
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.37/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.37
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