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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +26 -1
- data/README.md +34 -18
- data/Rakefile.example +1 -1
- data/exe/kettle-release +38 -19
- data/kettle-dev.gemspec.example +2 -2
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- 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: c9fad405b0585e4d0a4f5651683dca26a005520d41b8a17ffa36cc9ab41cdd45
|
4
|
+
data.tar.gz: c02e4989597f4b2635daf24215d608b3855c7223799acc2049fe26de47f5ab37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7d4aad2935288d5e4a5c79613453c075c1b1896fc45b7a02db73f50c6fa7016f90a7d821720ec051962644d0b5b6a86dd85ed3c7b66541e5779ccfbbcd45766
|
7
|
+
data.tar.gz: 0de641cbe2fdf22fb4441dc7e92cf6deba7be4ac7fa31e35a3592afdcef6df76780ecd10c8ed0796de6a446c05bf15ca96ca4332ea0050dc2038c56b6b6d090e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.gitignore
CHANGED
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.
|
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
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
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
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=<
|
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> #
|
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
|
64
|
-
GEM_CERT_USER=<user>
|
65
|
-
|
66
|
-
|
67
|
-
|
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
|
data/kettle-dev.gemspec.example
CHANGED
@@ -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")
|
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.
|
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
|
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: 1.1.
|
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.
|
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.
|
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.
|
399
|
-
changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.
|
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.
|
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
|