kettle-dev 1.0.4 → 1.0.6
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/CHANGELOG.md +21 -1
- data/checksums/kettle-dev-1.0.6.gem.sha256 +1 -0
- data/checksums/kettle-dev-1.0.6.gem.sha512 +1 -0
- data/exe/kettle-release +57 -13
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +8 -8
- metadata.gz.sig +0 -0
- data/checksums/kettle-dev-1.0.4.gem.sha256 +0 -1
- data/checksums/kettle-dev-1.0.4.gem.sha512 +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3b269c7a7a4d0d12e5aa6364bcd7e95290258da6262ae463940d7db44be6bd9
|
4
|
+
data.tar.gz: 89567fe63abc8bb1ca5ad2438b39865fa15a34bf0e4a7705faca5501802cc178
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2dd6b2114143f8fbe0a09d34f70a33c6e58a37edf6c23f48b1775cc7bd0bd8a1f12c1001dda6e3efdbedd746db34d73745f99bf8018ea0ae478d13787e3e037
|
7
|
+
data.tar.gz: 07aa24311c9e6174a5007aca0814d16c2854ce06023eabbadbbd8bf546ae8340b3c24f050e862a47549905b9d7a6773d4fcab02067cb6d70dcb55cf9b389d82f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -12,6 +12,22 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
12
12
|
### Fixed
|
13
13
|
### Security
|
14
14
|
|
15
|
+
## [1.0.6] - 2025-08-24
|
16
|
+
- TAG: [v1.0.6][1.0.6t]
|
17
|
+
- COVERAGE: 100.00% -- 130/130 lines in 7 files
|
18
|
+
- BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
|
19
|
+
- 95.35% documented
|
20
|
+
### Fixed
|
21
|
+
- kettle-release: ensure SOURCE_DATE_EPOCH is applied within the same shell for both build and release by prefixing the commands with the env var (e.g., `SOURCE_DATE_EPOCH=$epoch bundle exec rake build` and `... rake release`); prevents losing the variable across shell boundaries and improves reproducible checksums.
|
22
|
+
|
23
|
+
## [1.0.5] - 2025-08-24
|
24
|
+
- TAG: [v1.0.5][1.0.5t]
|
25
|
+
- COVERAGE: 100.00% -- 130/130 lines in 7 files
|
26
|
+
- BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
|
27
|
+
- 95.35% documented
|
28
|
+
### Fixed
|
29
|
+
- kettle-release: will run regardless of how it is invoked (i.e. works as binstub)
|
30
|
+
|
15
31
|
## [1.0.4] - 2025-08-24
|
16
32
|
- TAG: [v1.0.4][1.0.4t]
|
17
33
|
- COVERAGE: 100.00% -- 130/130 lines in 7 files
|
@@ -83,7 +99,11 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
83
99
|
- Selecting will run the selected workflow via `act`
|
84
100
|
- This may move to its own gem in the future.
|
85
101
|
|
86
|
-
[Unreleased]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.
|
102
|
+
[Unreleased]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.6...HEAD
|
103
|
+
[1.0.6]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.5...v1.0.6
|
104
|
+
[1.0.6t]: https://gitlab.com/kettle-rb/kettle-dev/-/tags/v1.0.6
|
105
|
+
[1.0.5]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.4...v1.0.5
|
106
|
+
[1.0.5t]: https://gitlab.com/kettle-rb/kettle-dev/-/tags/v1.0.5
|
87
107
|
[1.0.4]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.3...v1.0.4
|
88
108
|
[1.0.4t]: https://gitlab.com/kettle-rb/kettle-dev/-/tags/v1.0.4
|
89
109
|
[1.0.3]: https://gitlab.com/kettle-rb/kettle-dev/-/compare/v1.0.2...v1.0.3
|
@@ -0,0 +1 @@
|
|
1
|
+
57458ade85e8ec3c36087f4ffd6f07b2efa3e139a6787017387772014b6fc620
|
@@ -0,0 +1 @@
|
|
1
|
+
668add6ecffd144af422608ea3b072b5feecc82a93fc387d356d25fac02367ab73edf44e3c72bb17c8f8b1bbe153d1d01673d44df9d84b46ab83761b85e2665f
|
data/exe/kettle-release
CHANGED
@@ -21,15 +21,22 @@ rescue LoadError
|
|
21
21
|
# Allow running outside of Bundler; runtime deps should still be available via rubygems
|
22
22
|
end
|
23
23
|
|
24
|
-
|
25
|
-
require "
|
26
|
-
require "
|
27
|
-
require "
|
28
|
-
require "
|
29
|
-
require "
|
30
|
-
require "
|
31
|
-
require "
|
32
|
-
require "
|
24
|
+
begin
|
25
|
+
require "open3"
|
26
|
+
require "shellwords"
|
27
|
+
require "time"
|
28
|
+
require "fileutils"
|
29
|
+
require "net/http"
|
30
|
+
require "json"
|
31
|
+
require "uri"
|
32
|
+
require "kettle/dev/ci_helpers"
|
33
|
+
require "ruby-progressbar"
|
34
|
+
rescue LoadError => e
|
35
|
+
warn("kettle-release: failed to load a required library: #{e.message}")
|
36
|
+
warn("Hint: Ensure the host project includes kettle-dev and its runtime deps, then run bundle install.")
|
37
|
+
warn(e.backtrace.join("\n")) if ENV["DEBUG"]
|
38
|
+
exit(1)
|
39
|
+
end
|
33
40
|
|
34
41
|
module Kettle
|
35
42
|
module Dev
|
@@ -85,12 +92,12 @@ module Kettle
|
|
85
92
|
checkout!(trunk)
|
86
93
|
pull!(trunk)
|
87
94
|
|
88
|
-
export_source_date_epoch!
|
95
|
+
epoch = export_source_date_epoch!
|
89
96
|
|
90
97
|
ensure_signing_setup_or_skip!
|
91
98
|
# Build: expect PEM password prompt unless SKIP_GEM_SIGNING
|
92
99
|
puts "Running build (you may be prompted for the signing key password)..."
|
93
|
-
run_cmd!("bundle exec rake build")
|
100
|
+
run_cmd!("SOURCE_DATE_EPOCH=#{epoch} bundle exec rake build")
|
94
101
|
|
95
102
|
# Checksums (commits, but does not push)
|
96
103
|
run_cmd!("bin/gem_checksums")
|
@@ -98,7 +105,7 @@ module Kettle
|
|
98
105
|
|
99
106
|
# Release: expect PEM password + RubyGems MFA OTP
|
100
107
|
puts "Running release (you may be prompted for signing key password and RubyGems MFA OTP)..."
|
101
|
-
run_cmd!("bundle exec rake release")
|
108
|
+
run_cmd!("SOURCE_DATE_EPOCH=#{epoch} bundle exec rake release")
|
102
109
|
# Some release tasks rebuild the gem; re-validate to ensure reproducibility
|
103
110
|
validate_checksums!(version, stage: "after release")
|
104
111
|
|
@@ -479,6 +486,7 @@ module Kettle
|
|
479
486
|
epoch = Time.now.to_i
|
480
487
|
ENV["SOURCE_DATE_EPOCH"] = epoch.to_s
|
481
488
|
puts "Exported SOURCE_DATE_EPOCH=#{epoch}"
|
489
|
+
epoch
|
482
490
|
end
|
483
491
|
|
484
492
|
def ensure_signing_setup_or_skip!
|
@@ -554,6 +562,42 @@ module Kettle
|
|
554
562
|
end
|
555
563
|
end
|
556
564
|
|
557
|
-
|
565
|
+
# Always execute when this file is loaded (e.g., via a Bundler binstub).
|
566
|
+
# Do not guard with __FILE__ == $PROGRAM_NAME because binstubs use Kernel.load.
|
567
|
+
if ARGV.include?("-h") || ARGV.include?("--help")
|
568
|
+
puts <<~USAGE
|
569
|
+
Usage: kettle-release
|
570
|
+
|
571
|
+
Automates the release flow for a Ruby gem in the host project:
|
572
|
+
- Runs bin/setup and bin/rake sanity checks
|
573
|
+
- Prompts to confirm version and changelog updates
|
574
|
+
- Commits a release prep change
|
575
|
+
- Ensures trunk is up-to-date, pushes branch, and monitors CI (GitHub/GitLab)
|
576
|
+
- Merges feature into trunk upon CI success
|
577
|
+
- Exports SOURCE_DATE_EPOCH, builds, records checksums, and releases
|
578
|
+
|
579
|
+
Environment:
|
580
|
+
SKIP_GEM_SIGNING=true # skip gem signing during build/release
|
581
|
+
GEM_CERT_USER=<user> # selects certs/<user>.pem for signing
|
582
|
+
GITHUB_TOKEN / GH_TOKEN # optional, to query GitHub Actions
|
583
|
+
GITLAB_TOKEN / GL_TOKEN # optional, to query GitLab pipelines
|
584
|
+
DEBUG=true # print backtraces on errors
|
585
|
+
USAGE
|
586
|
+
exit 0
|
587
|
+
end
|
588
|
+
|
589
|
+
begin
|
558
590
|
Kettle::Dev::ReleaseCLI.new.run
|
591
|
+
rescue LoadError => e
|
592
|
+
warn("kettle-release: could not load dependency: #{e.message}")
|
593
|
+
warn(e.backtrace.join("\n")) if ENV["DEBUG"]
|
594
|
+
exit(1)
|
595
|
+
rescue SystemExit => e
|
596
|
+
# Preserve exit status, but ensure at least a newline so shells don't show an empty line only.
|
597
|
+
warn("kettle-release exited (status=#{e.status})") if e.status != 0
|
598
|
+
raise
|
599
|
+
rescue StandardError => e
|
600
|
+
warn("kettle-release: unexpected error: #{e.class}: #{e.message}")
|
601
|
+
warn(e.backtrace.join("\n"))
|
602
|
+
exit(1)
|
559
603
|
end
|
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.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter H. Boling
|
@@ -203,8 +203,8 @@ extra_rdoc_files:
|
|
203
203
|
- REEK
|
204
204
|
- RUBOCOP.md
|
205
205
|
- SECURITY.md
|
206
|
-
- checksums/kettle-dev-1.0.
|
207
|
-
- checksums/kettle-dev-1.0.
|
206
|
+
- checksums/kettle-dev-1.0.6.gem.sha256
|
207
|
+
- checksums/kettle-dev-1.0.6.gem.sha512
|
208
208
|
files:
|
209
209
|
- ".devcontainer/devcontainer.json"
|
210
210
|
- ".envrc"
|
@@ -256,8 +256,8 @@ files:
|
|
256
256
|
- RUBOCOP.md
|
257
257
|
- Rakefile
|
258
258
|
- SECURITY.md
|
259
|
-
- checksums/kettle-dev-1.0.
|
260
|
-
- checksums/kettle-dev-1.0.
|
259
|
+
- checksums/kettle-dev-1.0.6.gem.sha256
|
260
|
+
- checksums/kettle-dev-1.0.6.gem.sha512
|
261
261
|
- exe/kettle-commit-msg
|
262
262
|
- exe/kettle-readme-backers
|
263
263
|
- exe/kettle-release
|
@@ -290,10 +290,10 @@ licenses:
|
|
290
290
|
- MIT
|
291
291
|
metadata:
|
292
292
|
homepage_uri: https://kettle-dev.galtzo.com/
|
293
|
-
source_code_uri: https://github.com/galtzo-floss/kettle-dev/tree/v1.0.
|
294
|
-
changelog_uri: https://github.com/galtzo-floss/kettle-dev/blob/v1.0.
|
293
|
+
source_code_uri: https://github.com/galtzo-floss/kettle-dev/tree/v1.0.6
|
294
|
+
changelog_uri: https://github.com/galtzo-floss/kettle-dev/blob/v1.0.6/CHANGELOG.md
|
295
295
|
bug_tracker_uri: https://github.com/galtzo-floss/kettle-dev/issues
|
296
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.0.
|
296
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.0.6
|
297
297
|
funding_uri: https://github.com/sponsors/pboling
|
298
298
|
wiki_uri: https://github.com/galtzo-floss/kettle-dev/wiki
|
299
299
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1 +0,0 @@
|
|
1
|
-
772ba761ef205f134e3a096fbfde418b3d699093482ff345bd755f8f596f9de7
|
@@ -1 +0,0 @@
|
|
1
|
-
5e791a2feaa44cfcede4c5e933f2d44725dd6c84d5b44511d8e26147a1540ed3455508fd9c2e1ed8d07093009863b2db38ff9532939404aed7f047091c495e36
|