kettle-dev 1.1.33 → 1.1.35
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 +43 -1
- data/README.md +14 -7
- data/README.md.example +14 -7
- data/README.md.no-osc.example +13 -6
- data/Rakefile.example +1 -1
- data/exe/kettle-release +7 -2
- data/kettle-dev.gemspec.example +1 -15
- data/lib/kettle/dev/git_adapter.rb +30 -0
- data/lib/kettle/dev/rakelib/appraisal.rake +10 -10
- data/lib/kettle/dev/rakelib/bench.rake +1 -1
- data/lib/kettle/dev/rakelib/reek.rake +1 -1
- data/lib/kettle/dev/release_cli.rb +15 -9
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +7 -21
- 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: 51bc097ab38c42c6442bc2dac30e0be5db8f4724babe58df0a3bc9380ca273d3
|
|
4
|
+
data.tar.gz: f5fd0efc0784b8d8f47acc35bd0f73e4e250415bee2ecad5def2f0e80b7dd64b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2b3be6f9f5d4fd90ef967550126eb8617e3b786892afb8cfc86cba56984278227246706e04203ea89b87f6828383556a933b47ae9995d28bd55313e1eb51380d
|
|
7
|
+
data.tar.gz: 36f1c0a85c4b124020ece25999e85463365344c4ee60a856a5dcf3ce2e125014162ad7b725db8ebdaedab153ca210afb15d949e6de329079cae1b8c81a6d9585
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,44 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.1.35] - 2025-10-20
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.1.35][1.1.35t]
|
|
36
|
+
- COVERAGE: 96.04% -- 3949/4112 lines in 26 files
|
|
37
|
+
- BRANCH COVERAGE: 80.85% -- 1634/2021 branches in 26 files
|
|
38
|
+
- 79.68% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- more documentation of the RC.O situation
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- upgraded kettle-test to v1.0.5
|
|
47
|
+
|
|
48
|
+
### Removed
|
|
49
|
+
|
|
50
|
+
- direct dependency on rspec-pending_for (now provided, and configured, by kettle-test)
|
|
51
|
+
|
|
52
|
+
## [1.1.34] - 2025-10-20
|
|
53
|
+
|
|
54
|
+
- TAG: [v1.1.34][1.1.34t]
|
|
55
|
+
- COVERAGE: 96.10% -- 3938/4098 lines in 26 files
|
|
56
|
+
- BRANCH COVERAGE: 80.92% -- 1624/2007 branches in 26 files
|
|
57
|
+
- 79.68% documented
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- kettle-release: Make step 17 only push the checksum commit; bin/gem_checksums creates the commit internally.
|
|
62
|
+
- kettle-release: Ensure a final push of tags occurs after checksums and optional GitHub release; supports an 'all' remote aggregator when configured.
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
- fixed rake task compatibility with BUNDLE_PATH (i.e. vendored bundle)
|
|
67
|
+
- appraisal tasks
|
|
68
|
+
- bench tasks
|
|
69
|
+
- reek tasks
|
|
70
|
+
|
|
33
71
|
## [1.1.33] - 2025-10-13
|
|
34
72
|
|
|
35
73
|
- TAG: [v1.1.33][1.1.33t]
|
|
@@ -1081,7 +1119,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1081
1119
|
- Selecting will run the selected workflow via `act`
|
|
1082
1120
|
- This may move to its own gem in the future.
|
|
1083
1121
|
|
|
1084
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.
|
|
1122
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.35...HEAD
|
|
1123
|
+
[1.1.35]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.34...v1.1.35
|
|
1124
|
+
[1.1.35t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.35
|
|
1125
|
+
[1.1.34]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.33...v1.1.34
|
|
1126
|
+
[1.1.34t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.34
|
|
1085
1127
|
[1.1.33]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.32...v1.1.33
|
|
1086
1128
|
[1.1.33t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.33
|
|
1087
1129
|
[1.1.32]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.31...v1.1.32
|
data/README.md
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems.org
|
|
4
|
-
| I'm in the process of adding warnings to
|
|
5
|
-
|
|
|
6
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems.org [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
4
|
+
| I'm in the process of adding warnings to gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
|
|
5
|
+
| If repos or publishing rights for my gems were similarly stolen, I'd hope others would stand up for me. |
|
|
6
|
+
| Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. |
|
|
7
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
|
|
8
|
+
| My (WIP) proposal for [bundler/gem scopes][gem-scopes]. My (WIP) proposal for a federated [gem server][gem-server]. |
|
|
7
9
|
|
|
8
10
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
9
11
|
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
12
|
+
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
10
13
|
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
11
14
|
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
12
15
|
[gem-coop]: https://gem.coop
|
|
16
|
+
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
13
17
|
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
18
|
+
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
19
|
+
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
20
|
+
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
14
21
|
|
|
15
22
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
|
|
16
23
|
|
|
@@ -939,7 +946,7 @@ Thanks for RTFM. ☺️
|
|
|
939
946
|
[📌gitmoji]:https://gitmoji.dev
|
|
940
947
|
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
941
948
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
942
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
|
949
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-4.112-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
943
950
|
[🔐security]: SECURITY.md
|
|
944
951
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
945
952
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/README.md.example
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems.org
|
|
4
|
-
| I'm in the process of adding warnings to
|
|
5
|
-
|
|
|
6
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems.org [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
4
|
+
| I'm in the process of adding warnings to gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
|
|
5
|
+
| If repos or publishing rights for my gems were similarly stolen, I'd hope others would stand up for me. |
|
|
6
|
+
| Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. |
|
|
7
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
|
|
8
|
+
| My (WIP) proposal for [bundler/gem scopes][gem-scopes]. My (WIP) proposal for a federated [gem server][gem-server]. |
|
|
7
9
|
|
|
8
10
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
9
11
|
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
12
|
+
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
10
13
|
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
11
14
|
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
12
15
|
[gem-coop]: https://gem.coop
|
|
16
|
+
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
13
17
|
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
18
|
+
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
19
|
+
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
20
|
+
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
14
21
|
|
|
15
22
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
|
|
16
23
|
|
|
@@ -533,7 +540,7 @@ Thanks for RTFM. ☺️
|
|
|
533
540
|
[📌gitmoji]:https://gitmoji.dev
|
|
534
541
|
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
535
542
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
536
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
|
543
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-4.112-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
537
544
|
[🔐security]: SECURITY.md
|
|
538
545
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
539
546
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/README.md.no-osc.example
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems.org
|
|
4
|
-
| I'm in the process of adding warnings to
|
|
5
|
-
|
|
|
6
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems.org [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
4
|
+
| I'm in the process of adding warnings to gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
|
|
5
|
+
| If repos or publishing rights for my gems were similarly stolen, I'd hope others would stand up for me. |
|
|
6
|
+
| Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. |
|
|
7
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
|
|
8
|
+
| My (WIP) proposal for [bundler/gem scopes][gem-scopes]. My (WIP) proposal for a federated [gem server][gem-server]. |
|
|
7
9
|
|
|
8
10
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
9
11
|
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
12
|
+
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
10
13
|
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
11
14
|
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
12
15
|
[gem-coop]: https://gem.coop
|
|
16
|
+
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
13
17
|
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
18
|
+
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
19
|
+
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
20
|
+
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
14
21
|
|
|
15
22
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
|
|
16
23
|
|
data/Rakefile.example
CHANGED
data/exe/kettle-release
CHANGED
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
# - Builds and releases using Bundler/Rake (reproducible by default in Bundler 2.7+)
|
|
12
12
|
# - Runs `bundle exec rake build` (expects PEM password unless SKIP_GEM_SIGNING)
|
|
13
13
|
# - If signing not skipped and no public cert in certs/<user>.pem, aborts with guidance
|
|
14
|
-
# - Runs bin/gem_checksums
|
|
15
14
|
# - Runs `bundle exec rake release` (expects PEM password and RubyGems MFA OTP)
|
|
15
|
+
# - Runs bin/gem_checksums (which creates the checksum commit), then pushes it
|
|
16
|
+
# - Optionally creates a GitHub Release when GITHUB_TOKEN is present
|
|
17
|
+
# - Finally pushes tags to remotes (including an 'all' aggregator if configured)
|
|
16
18
|
|
|
17
19
|
# Immediate, unbuffered output
|
|
18
20
|
$stdout.sync = true
|
|
@@ -52,7 +54,10 @@ if ARGV.include?("-h") || ARGV.include?("--help")
|
|
|
52
54
|
- Commits a release prep change
|
|
53
55
|
- Ensures trunk is up-to-date, pushes branch, and monitors CI (GitHub/GitLab)
|
|
54
56
|
- Merges feature into trunk upon CI success
|
|
55
|
-
- Builds
|
|
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
|
|
56
61
|
|
|
57
62
|
Environment:
|
|
58
63
|
SKIP_GEM_SIGNING=true # skip gem signing during build/release
|
data/kettle-dev.gemspec.example
CHANGED
|
@@ -128,8 +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")
|
|
132
|
-
spec.add_development_dependency("rspec-pending_for", "~> 0.0", ">= 0.0.17") # ruby >= 2.3, used to skip specs on incompatible Rubies
|
|
131
|
+
spec.add_development_dependency("kettle-test", "~> 1.0", ">= 1.0.5") # ruby >= 2.3
|
|
133
132
|
|
|
134
133
|
# Releasing
|
|
135
134
|
spec.add_development_dependency("ruby-progressbar", "~> 1.13") # ruby >= 0
|
|
@@ -147,19 +146,6 @@ Gem::Specification.new do |spec|
|
|
|
147
146
|
# spec.add_development_dependency("erb", ">= 2.2") # ruby >= 2.3.0, not SemVer, old rubies get dropped in a patch.
|
|
148
147
|
spec.add_development_dependency("gitmoji-regex", "~> 1.0", ">= 1.0.3") # ruby >= 2.3.0
|
|
149
148
|
|
|
150
|
-
# HTTP recording for deterministic specs
|
|
151
|
-
# Ruby 2.3 / 2.4 can fail with:
|
|
152
|
-
# | An error occurred while loading spec_helper.
|
|
153
|
-
# | Failure/Error: require "vcr"
|
|
154
|
-
# |
|
|
155
|
-
# | NoMethodError:
|
|
156
|
-
# | undefined method `delete_prefix' for "CONTENT_LENGTH":String
|
|
157
|
-
# | # ./spec/config/vcr.rb:3:in `require'
|
|
158
|
-
# | # ./spec/config/vcr.rb:3:in `<top (required)>'
|
|
159
|
-
# | # ./spec/spec_helper.rb:8:in `require_relative'
|
|
160
|
-
# | # ./spec/spec_helper.rb:8:in `<top (required)>'
|
|
161
|
-
# So that's why we need backports.
|
|
162
|
-
# spec.add_development_dependency("backports", "~> 3.25", ">= 3.25.1") # ruby >= 0
|
|
163
149
|
# In Ruby 3.5 (HEAD) the CGI library has been pared down, so we also need to depend on gem "cgi" for ruby@head
|
|
164
150
|
# This is done in the "head" appraisal.
|
|
165
151
|
# See: https://github.com/vcr/vcr/issues/1057
|
|
@@ -104,6 +104,36 @@ module Kettle
|
|
|
104
104
|
end
|
|
105
105
|
end
|
|
106
106
|
|
|
107
|
+
# Push all tags to a remote.
|
|
108
|
+
# Notes:
|
|
109
|
+
# - The ruby-git gem does not provide a stable API for pushing all tags across
|
|
110
|
+
# versions, so we intentionally shell out to `git push --tags` for both
|
|
111
|
+
# backends. Tests should stub this method in higher-level code to avoid
|
|
112
|
+
# mutating any repositories.
|
|
113
|
+
#
|
|
114
|
+
# @param remote [String, nil] The remote name. When nil or empty, uses the
|
|
115
|
+
# repository's default remote (same behavior as running `git push --tags`)
|
|
116
|
+
# which typically uses the current branch's upstream.
|
|
117
|
+
# @return [Boolean] true if the system call reports success; false on failure
|
|
118
|
+
def push_tags(remote)
|
|
119
|
+
if @backend == :gem
|
|
120
|
+
# The ruby-git gem does not expose a dedicated API for "--tags" consistently across versions.
|
|
121
|
+
# Use a shell fallback even when the gem backend is active. Tests should stub this method.
|
|
122
|
+
if remote && !remote.to_s.empty?
|
|
123
|
+
system("git", "push", remote.to_s, "--tags")
|
|
124
|
+
else
|
|
125
|
+
system("git", "push", "--tags")
|
|
126
|
+
end
|
|
127
|
+
elsif remote && !remote.to_s.empty?
|
|
128
|
+
system("git", "push", remote.to_s, "--tags")
|
|
129
|
+
else
|
|
130
|
+
system("git", "push", "--tags")
|
|
131
|
+
end
|
|
132
|
+
rescue StandardError => e
|
|
133
|
+
Kettle::Dev.debug_error(e, __method__)
|
|
134
|
+
false
|
|
135
|
+
end
|
|
136
|
+
|
|
107
137
|
# @return [String, nil] current branch name, or nil on error
|
|
108
138
|
def current_branch
|
|
109
139
|
if @backend == :gem
|
|
@@ -6,14 +6,14 @@ begin
|
|
|
6
6
|
|
|
7
7
|
desc("Install Appraisal gemfiles (initial setup for projects that didn't previously use Appraisal)")
|
|
8
8
|
task("appraisal:install") do
|
|
9
|
-
bundle =
|
|
9
|
+
bundle = "bundle"
|
|
10
10
|
|
|
11
11
|
run_in_unbundled = proc do
|
|
12
12
|
env = {"BUNDLE_GEMFILE" => "Appraisal.root.gemfile"}
|
|
13
13
|
|
|
14
|
-
# 1)
|
|
15
|
-
ok = system(bundle, "install"
|
|
16
|
-
abort("appraisal:install failed:
|
|
14
|
+
# 1) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
|
|
15
|
+
ok = system(env, bundle, "install")
|
|
16
|
+
abort("appraisal:install failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install") unless ok
|
|
17
17
|
|
|
18
18
|
# 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal install
|
|
19
19
|
ok = system(env, bundle, "exec", "appraisal", "install")
|
|
@@ -33,22 +33,22 @@ begin
|
|
|
33
33
|
|
|
34
34
|
desc("Update Appraisal gemfiles and run RuboCop Gradual autocorrect")
|
|
35
35
|
task("appraisal:update") do
|
|
36
|
-
bundle =
|
|
36
|
+
bundle = "bundle"
|
|
37
37
|
|
|
38
38
|
run_in_unbundled = proc do
|
|
39
39
|
env = {"BUNDLE_GEMFILE" => "Appraisal.root.gemfile"}
|
|
40
40
|
|
|
41
41
|
# 1) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler
|
|
42
42
|
ok = system(env, bundle, "update", "--bundler")
|
|
43
|
-
abort("appraisal:update failed: bundle update --bundler
|
|
43
|
+
abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler") unless ok
|
|
44
44
|
|
|
45
|
-
# 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle
|
|
46
|
-
ok = system(env, bundle)
|
|
47
|
-
abort("appraisal:update failed:
|
|
45
|
+
# 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
|
|
46
|
+
ok = system(env, bundle, "install")
|
|
47
|
+
abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install") unless ok
|
|
48
48
|
|
|
49
49
|
# 3) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
|
|
50
50
|
ok = system(env, bundle, "exec", "appraisal", "update")
|
|
51
|
-
abort("appraisal:update failed: bundle exec appraisal update") unless ok
|
|
51
|
+
abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update") unless ok
|
|
52
52
|
|
|
53
53
|
# 4) bundle exec rake rubocop_gradual:autocorrect
|
|
54
54
|
ok = system(bundle, "exec", "rake", "rubocop_gradual:autocorrect")
|
|
@@ -22,7 +22,7 @@ namespace :bench do
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
ruby = RbConfig.ruby
|
|
25
|
-
bundle =
|
|
25
|
+
bundle = "bundle"
|
|
26
26
|
bench_files = Dir[File.join(__dir__, "benchmarks", "*.rb")].sort
|
|
27
27
|
if bench_files.empty?
|
|
28
28
|
puts "No benchmark scripts found under benchmarks/."
|
|
@@ -15,7 +15,7 @@ begin
|
|
|
15
15
|
desc("Run reek and store the output into the REEK file")
|
|
16
16
|
task("reek:update") do
|
|
17
17
|
# Run via Bundler if available to ensure the right gem version is used
|
|
18
|
-
cmd = [
|
|
18
|
+
cmd = %w[bundle exec reek]
|
|
19
19
|
|
|
20
20
|
output, status = Open3.capture2e(*cmd)
|
|
21
21
|
|
|
@@ -269,22 +269,25 @@ module Kettle
|
|
|
269
269
|
# 16. generate checksums
|
|
270
270
|
# Checksums are generated after release to avoid including checksums/ in gem package
|
|
271
271
|
# Rationale: Running gem_checksums before release may commit checksums/ and cause Bundler's
|
|
272
|
-
# release build to include them in the gem, altering the artifact.
|
|
272
|
+
# release build to include them in the gem, thus altering the artifact, and invalidating the checksums.
|
|
273
273
|
if @start_step <= 16
|
|
274
|
-
# Generate checksums for the just-built artifact, then validate
|
|
274
|
+
# Generate checksums for the just-built artifact, commit them, then validate
|
|
275
275
|
run_cmd!("bin/gem_checksums")
|
|
276
276
|
version ||= detect_version
|
|
277
277
|
validate_checksums!(version, stage: "after release")
|
|
278
278
|
end
|
|
279
279
|
|
|
280
|
-
# 17.
|
|
281
|
-
if @start_step <= 17
|
|
280
|
+
# 17. push checksum commit (gem_checksums already commits)
|
|
281
|
+
push! if @start_step <= 17
|
|
282
|
+
|
|
283
|
+
# 18. create GitHub release (optional)
|
|
284
|
+
if @start_step <= 18
|
|
282
285
|
version ||= detect_version
|
|
283
286
|
maybe_create_github_release!(version)
|
|
284
287
|
end
|
|
285
288
|
|
|
286
|
-
#
|
|
287
|
-
push_tags! if @start_step <=
|
|
289
|
+
# 19. push tags to remotes (final step)
|
|
290
|
+
push_tags! if @start_step <= 19
|
|
288
291
|
|
|
289
292
|
# Final success message
|
|
290
293
|
begin
|
|
@@ -708,17 +711,20 @@ module Kettle
|
|
|
708
711
|
# 2) Otherwise, if other remotes exist, push tags to each of them.
|
|
709
712
|
# 3) If no remotes are configured, push tags using default remote.
|
|
710
713
|
if has_remote?("all")
|
|
711
|
-
|
|
714
|
+
ok = @git.push_tags("all")
|
|
715
|
+
warn("Push tags to 'all' reported failure.") unless ok
|
|
712
716
|
return
|
|
713
717
|
end
|
|
714
718
|
|
|
715
719
|
remotes = list_remotes
|
|
716
720
|
remotes -= ["all"] if remotes
|
|
717
721
|
if remotes.nil? || remotes.empty?
|
|
718
|
-
|
|
722
|
+
ok = @git.push_tags(nil)
|
|
723
|
+
warn("Push tags (default remote) reported failure.") unless ok
|
|
719
724
|
else
|
|
720
725
|
remotes.each do |remote|
|
|
721
|
-
|
|
726
|
+
ok = @git.push_tags(remote)
|
|
727
|
+
warn("Push tags to #{remote} reported failure.") unless ok
|
|
722
728
|
end
|
|
723
729
|
end
|
|
724
730
|
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.1.
|
|
4
|
+
version: 1.1.35
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -106,33 +106,19 @@ dependencies:
|
|
|
106
106
|
- - "~>"
|
|
107
107
|
- !ruby/object:Gem::Version
|
|
108
108
|
version: '1.0'
|
|
109
|
-
type: :development
|
|
110
|
-
prerelease: false
|
|
111
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
112
|
-
requirements:
|
|
113
|
-
- - "~>"
|
|
114
|
-
- !ruby/object:Gem::Version
|
|
115
|
-
version: '1.0'
|
|
116
|
-
- !ruby/object:Gem::Dependency
|
|
117
|
-
name: rspec-pending_for
|
|
118
|
-
requirement: !ruby/object:Gem::Requirement
|
|
119
|
-
requirements:
|
|
120
|
-
- - "~>"
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
version: '0.0'
|
|
123
109
|
- - ">="
|
|
124
110
|
- !ruby/object:Gem::Version
|
|
125
|
-
version:
|
|
111
|
+
version: 1.0.5
|
|
126
112
|
type: :development
|
|
127
113
|
prerelease: false
|
|
128
114
|
version_requirements: !ruby/object:Gem::Requirement
|
|
129
115
|
requirements:
|
|
130
116
|
- - "~>"
|
|
131
117
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: '
|
|
118
|
+
version: '1.0'
|
|
133
119
|
- - ">="
|
|
134
120
|
- !ruby/object:Gem::Version
|
|
135
|
-
version:
|
|
121
|
+
version: 1.0.5
|
|
136
122
|
- !ruby/object:Gem::Dependency
|
|
137
123
|
name: ruby-progressbar
|
|
138
124
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -409,10 +395,10 @@ licenses:
|
|
|
409
395
|
- MIT
|
|
410
396
|
metadata:
|
|
411
397
|
homepage_uri: https://kettle-dev.galtzo.com/
|
|
412
|
-
source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.
|
|
413
|
-
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.35
|
|
399
|
+
changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.35/CHANGELOG.md
|
|
414
400
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
|
|
415
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.
|
|
401
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.35
|
|
416
402
|
funding_uri: https://github.com/sponsors/pboling
|
|
417
403
|
wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
|
|
418
404
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
|
Binary file
|