kettle-dev 1.1.59 → 1.1.60
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/.envrc +1 -0
- data/.envrc.example +1 -0
- data/.envrc.no-osc.example +1 -0
- data/.github/workflows/ancient.yml +1 -1
- data/.github/workflows/ancient.yml.example +1 -1
- data/.github/workflows/codeql-analysis.yml +1 -1
- data/.github/workflows/coverage.yml +1 -1
- data/.github/workflows/coverage.yml.example +1 -1
- data/.github/workflows/current.yml +1 -1
- data/.github/workflows/current.yml.example +1 -1
- data/.github/workflows/dep-heads.yml +1 -1
- data/.github/workflows/dependency-review.yml +1 -1
- data/.github/workflows/heads.yml +1 -1
- data/.github/workflows/heads.yml.example +1 -1
- data/.github/workflows/jruby.yml +1 -1
- data/.github/workflows/jruby.yml.example +1 -1
- data/.github/workflows/legacy.yml +1 -1
- data/.github/workflows/license-eye.yml +1 -1
- data/.github/workflows/locked_deps.yml +1 -1
- data/.github/workflows/opencollective.yml +1 -1
- data/.github/workflows/style.yml +1 -1
- data/.github/workflows/supported.yml +1 -1
- data/.github/workflows/truffle.yml +1 -1
- data/.github/workflows/unlocked_deps.yml +1 -1
- data/.github/workflows/unsupported.yml +1 -1
- data/CHANGELOG.md +21 -1
- data/README.md +16 -12
- data/README.md.example +16 -12
- data/README.md.no-osc.example +16 -12
- data/Rakefile.example +1 -1
- data/lib/kettle/dev/rakelib/spec_test.rake +70 -20
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- 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: a2c485db803ad10d4d7eb1331a8ed30ce0744c0a045ee768697bfa5098f44707
|
|
4
|
+
data.tar.gz: c60544c59a2bd2b0af6d80aaa070055ca74d3a88e8e2b53cd2c94050da03e89e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7f36fd6f1cd77538e0ebcff3ae9c96136594a242f95d15aaa4690f84dcdd376efa3be923b26bb6bad6176c5addaa88c18fdd1d38329c9065535c9666897048c
|
|
7
|
+
data.tar.gz: d881e65d43eeccd20f540c135821402b046b8601e130d16204e6c7a501d092270af97ebce0a7757345d3c4cf340b22b78e6858b80ff0f6863fe3dcbba93f7e4c
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/.envrc
CHANGED
|
@@ -28,6 +28,7 @@ export K_SOUP_COV_MULTI_FORMATTERS=true
|
|
|
28
28
|
export K_SOUP_COV_OPEN_BIN= # Means don't try to open coverage results in browser
|
|
29
29
|
export MAX_ROWS=1 # Setting for simplecov-console gem for tty output, limits to the worst N rows of bad coverage
|
|
30
30
|
export KETTLE_TEST_SILENT=true
|
|
31
|
+
export KETTLE_DEV_DEBUG=false
|
|
31
32
|
|
|
32
33
|
# Internal Debugging Controls
|
|
33
34
|
export DEBUG=false # do not allow byebug statements (override in .env.local)
|
data/.envrc.example
CHANGED
|
@@ -28,6 +28,7 @@ export K_SOUP_COV_MULTI_FORMATTERS=true
|
|
|
28
28
|
export K_SOUP_COV_OPEN_BIN= # Means don't try to open coverage results in browser
|
|
29
29
|
export MAX_ROWS=1 # Setting for simplecov-console gem for tty output, limits to the worst N rows of bad coverage
|
|
30
30
|
export KETTLE_TEST_SILENT=true
|
|
31
|
+
export KETTLE_DEV_DEBUG=false
|
|
31
32
|
|
|
32
33
|
# Internal Debugging Controls
|
|
33
34
|
export DEBUG=false # do not allow byebug statements (override in .env.local)
|
data/.envrc.no-osc.example
CHANGED
|
@@ -28,6 +28,7 @@ export K_SOUP_COV_MULTI_FORMATTERS=true
|
|
|
28
28
|
export K_SOUP_COV_OPEN_BIN= # Means don't try to open coverage results in browser
|
|
29
29
|
export MAX_ROWS=1 # Setting for simplecov-console gem for tty output, limits to the worst N rows of bad coverage
|
|
30
30
|
export KETTLE_TEST_SILENT=true
|
|
31
|
+
export KETTLE_DEV_DEBUG=false
|
|
31
32
|
|
|
32
33
|
# Internal Debugging Controls
|
|
33
34
|
export DEBUG=false # do not allow byebug statements (override in .env.local)
|
|
@@ -65,7 +65,7 @@ jobs:
|
|
|
65
65
|
steps:
|
|
66
66
|
- name: Checkout
|
|
67
67
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
68
|
-
uses: actions/checkout@
|
|
68
|
+
uses: actions/checkout@v6
|
|
69
69
|
|
|
70
70
|
- name: Setup Ruby & RubyGems
|
|
71
71
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
@@ -64,7 +64,7 @@ jobs:
|
|
|
64
64
|
steps:
|
|
65
65
|
- name: Checkout
|
|
66
66
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
67
|
-
uses: actions/checkout@
|
|
67
|
+
uses: actions/checkout@v6
|
|
68
68
|
|
|
69
69
|
- name: Setup Ruby & RubyGems
|
|
70
70
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
steps:
|
|
67
67
|
- name: Checkout
|
|
68
68
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
69
|
-
uses: actions/checkout@
|
|
69
|
+
uses: actions/checkout@v6
|
|
70
70
|
|
|
71
71
|
- name: Setup Ruby & RubyGems
|
|
72
72
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
data/.github/workflows/heads.yml
CHANGED
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
steps:
|
|
67
67
|
- name: Checkout
|
|
68
68
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
69
|
-
uses: actions/checkout@
|
|
69
|
+
uses: actions/checkout@v6
|
|
70
70
|
|
|
71
71
|
- name: Setup Ruby & RubyGems
|
|
72
72
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
@@ -65,7 +65,7 @@ jobs:
|
|
|
65
65
|
steps:
|
|
66
66
|
- name: Checkout
|
|
67
67
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
68
|
-
uses: actions/checkout@
|
|
68
|
+
uses: actions/checkout@v6
|
|
69
69
|
|
|
70
70
|
- name: Setup Ruby & RubyGems
|
|
71
71
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
data/.github/workflows/jruby.yml
CHANGED
data/.github/workflows/style.yml
CHANGED
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
steps:
|
|
49
49
|
- name: Checkout
|
|
50
50
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
|
51
|
-
uses: actions/checkout@
|
|
51
|
+
uses: actions/checkout@v6
|
|
52
52
|
|
|
53
53
|
- name: Setup Ruby & RubyGems
|
|
54
54
|
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,24 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.1.60] - 2025-11-23
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.1.60][1.1.60t]
|
|
36
|
+
- COVERAGE: 94.38% -- 4066/4308 lines in 26 files
|
|
37
|
+
- BRANCH COVERAGE: 78.86% -- 1675/2124 branches in 26 files
|
|
38
|
+
- 79.89% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Add KETTLE_DEV_DEBUG to direnv defaults
|
|
43
|
+
- Documentation of the explicit policy violations of RubyGems.org leadership toward open source projects they funded
|
|
44
|
+
- https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- Prevent double test runs by ensuring only one of test/coverage/spec are in default task
|
|
49
|
+
- Add debugging when more than one registered
|
|
50
|
+
|
|
33
51
|
## [1.1.59] - 2025-11-13
|
|
34
52
|
|
|
35
53
|
- TAG: [v1.1.59][1.1.59t]
|
|
@@ -1440,7 +1458,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1440
1458
|
- Selecting will run the selected workflow via `act`
|
|
1441
1459
|
- This may move to its own gem in the future.
|
|
1442
1460
|
|
|
1443
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.
|
|
1461
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.60...HEAD
|
|
1462
|
+
[1.1.60]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.59...v1.1.60
|
|
1463
|
+
[1.1.60t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.60
|
|
1444
1464
|
[1.1.59]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.58...v1.1.59
|
|
1445
1465
|
[1.1.59t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.59
|
|
1446
1466
|
[1.1.58]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.57...v1.1.58
|
data/README.md
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025.
|
|
4
|
-
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest.
|
|
5
|
-
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies].
|
|
6
|
-
|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
+
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
+
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
+
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
+
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
+
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
+
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
+
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
+
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
+
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
13
14
|
|
|
14
15
|
[rubygems-org]: https://github.com/rubygems/
|
|
15
16
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
@@ -26,6 +27,9 @@
|
|
|
26
27
|
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
27
28
|
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
28
29
|
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
+
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
+
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
+
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
29
33
|
|
|
30
34
|
[![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]
|
|
31
35
|
|
data/README.md.example
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025.
|
|
4
|
-
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest.
|
|
5
|
-
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies].
|
|
6
|
-
|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
+
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
+
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
+
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
+
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
+
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
+
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
+
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
+
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
+
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
13
14
|
|
|
14
15
|
[rubygems-org]: https://github.com/rubygems/
|
|
15
16
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
@@ -26,6 +27,9 @@
|
|
|
26
27
|
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
27
28
|
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
28
29
|
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
+
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
+
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
+
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
29
33
|
|
|
30
34
|
[![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]
|
|
31
35
|
|
data/README.md.no-osc.example
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
| 📍 NOTE
|
|
2
|
-
|
|
3
|
-
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025.
|
|
4
|
-
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest.
|
|
5
|
-
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies].
|
|
6
|
-
|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
1
|
+
| 📍 NOTE |
|
|
2
|
+
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
3
|
+
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
+
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
+
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
+
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
+
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
+
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
+
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
+
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
+
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
+
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
13
14
|
|
|
14
15
|
[rubygems-org]: https://github.com/rubygems/
|
|
15
16
|
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
@@ -26,6 +27,9 @@
|
|
|
26
27
|
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
27
28
|
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
28
29
|
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
+
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
+
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
+
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
29
33
|
|
|
30
34
|
[![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]
|
|
31
35
|
|
data/Rakefile.example
CHANGED
|
@@ -12,7 +12,9 @@ begin
|
|
|
12
12
|
t.test_files = FileList["test/**/*test*.rb"]
|
|
13
13
|
t.verbose = true
|
|
14
14
|
end
|
|
15
|
-
|
|
15
|
+
# The test task is invoked by the coverage task, so of the two, (i.e., when outside CI),
|
|
16
|
+
# only coverage should be registered as default.
|
|
17
|
+
Kettle::Dev.register_default("test") unless Kettle::Dev.default_registered?("coverage")
|
|
16
18
|
rescue LoadError
|
|
17
19
|
warn("[kettle-dev][spec_test.rake] failed to load rake/testtask") if Kettle::Dev::DEBUGGING
|
|
18
20
|
desc("test task stub")
|
|
@@ -21,34 +23,82 @@ rescue LoadError
|
|
|
21
23
|
end
|
|
22
24
|
end
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
begin
|
|
26
|
-
|
|
26
|
+
setup_spec_task = ->(default:) {
|
|
27
|
+
begin
|
|
28
|
+
require "rspec/core/rake_task"
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
31
|
+
if default
|
|
32
|
+
# This takes the place of the `coverage` task if/when it isn't already registered.
|
|
33
|
+
# This is because spec and coverage run the same tests
|
|
34
|
+
# (via the coverage task invoking the test task which invokes the spec task),
|
|
35
|
+
# so we can't have both in the default task.
|
|
36
|
+
Kettle::Dev.register_default("spec") unless Kettle::Dev.default_registered?("coverage")
|
|
37
|
+
end
|
|
38
|
+
rescue LoadError
|
|
39
|
+
warn("[kettle-dev][spec_test.rake] failed to load rspec/core/rake_task") if Kettle::Dev::DEBUGGING
|
|
40
|
+
desc("spec task stub")
|
|
41
|
+
task(:spec) do
|
|
42
|
+
warn("NOTE: rspec isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# Setup RSpec
|
|
48
|
+
if defined?(Kettle::Dev::IS_CI)
|
|
49
|
+
if Kettle::Dev::IS_CI
|
|
50
|
+
# then we should not have a coverage task, but do want a spec test.
|
|
51
|
+
setup_spec_task.call(default: true)
|
|
52
|
+
else
|
|
53
|
+
# then we should have a coverage task.
|
|
54
|
+
# The coverage task will invoke the "test" task, which will invoke the spec task.
|
|
55
|
+
setup_spec_task.call(default: false)
|
|
36
56
|
end
|
|
57
|
+
else
|
|
58
|
+
# then we do not have a coverage task setup by this gem, and are not in a coverage context.
|
|
59
|
+
# So setup a spec test.
|
|
60
|
+
setup_spec_task.call(default: true)
|
|
37
61
|
end
|
|
38
62
|
|
|
39
63
|
spec_registered = Kettle::Dev.default_registered?("spec")
|
|
40
64
|
coverage_registered = Kettle::Dev.default_registered?("coverage")
|
|
41
65
|
test_registered = Kettle::Dev.default_registered?("test")
|
|
66
|
+
spec_and_coverage = spec_registered && coverage_registered
|
|
42
67
|
spec_or_coverage = spec_registered || coverage_registered
|
|
43
68
|
|
|
44
|
-
if
|
|
45
|
-
task test: :spec
|
|
46
|
-
elsif test_registered && !spec_or_coverage
|
|
69
|
+
if test_registered && !spec_or_coverage
|
|
47
70
|
task spec: :test
|
|
48
|
-
elsif test_registered &&
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
71
|
+
# elsif test_registered && spec_registered
|
|
72
|
+
# # When we have both tasks registered as default, making spec run as part of test would be redundant.
|
|
73
|
+
# # task test: :spec
|
|
74
|
+
# elsif test_registered && coverage_registered
|
|
75
|
+
# # When we have both tasks registered as default, making coverage run as part of test would be circular.
|
|
76
|
+
# # task test: :coverage
|
|
77
|
+
elsif !test_registered
|
|
78
|
+
if spec_registered && !coverage_registered
|
|
79
|
+
puts "Spec task is registered as default task. Creating test task with spec as pre-requisite" if Kettle::Dev::DEBUGGING
|
|
80
|
+
# If spec is registered as default, it should be invoked by the test task when test is not default,
|
|
81
|
+
# because some CI workflows will be configured to run bin/rake test.
|
|
82
|
+
desc "A test task with spec as prerequisite"
|
|
83
|
+
task test: :spec
|
|
84
|
+
elsif coverage_registered && !spec_registered
|
|
85
|
+
puts "Coverage task is registered as default task, and will call test task, with spec as pre-requisite." if Kettle::Dev::DEBUGGING
|
|
86
|
+
# If coverage is registered as default, it will invoke test.
|
|
87
|
+
# We need to make spec a prerequisite of test so that it runs as part of the test task,
|
|
88
|
+
# which will be invoked by the coverage task.
|
|
89
|
+
desc "A test task with spec as prerequisite"
|
|
90
|
+
task test: :spec
|
|
91
|
+
end
|
|
53
92
|
end
|
|
54
93
|
# rubocop:enable Rake/DuplicateTask
|
|
94
|
+
|
|
95
|
+
if spec_and_coverage
|
|
96
|
+
# They should not both be registered as default tasks, as they run the same tests.
|
|
97
|
+
warn("[kettle-dev][spec_test.rake] both spec and coverage are registered as default tasks!") if Kettle::Dev::DEBUGGING
|
|
98
|
+
elsif test_registered && spec_registered
|
|
99
|
+
# They should not both be registered as default tasks, as they will be setup to run the same tests.
|
|
100
|
+
warn("[kettle-dev][spec_test.rake] both test and spec are registered as default tasks!") if Kettle::Dev::DEBUGGING
|
|
101
|
+
elsif test_registered && coverage_registered
|
|
102
|
+
# They should not both be registered as default tasks, coverage invokes the test task.
|
|
103
|
+
warn("[kettle-dev][spec_test.rake] both test and coverage are registered as default tasks!") if Kettle::Dev::DEBUGGING
|
|
104
|
+
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.60
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -403,10 +403,10 @@ licenses:
|
|
|
403
403
|
- MIT
|
|
404
404
|
metadata:
|
|
405
405
|
homepage_uri: https://kettle-dev.galtzo.com/
|
|
406
|
-
source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.
|
|
407
|
-
changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.
|
|
406
|
+
source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.60
|
|
407
|
+
changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.60/CHANGELOG.md
|
|
408
408
|
bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
|
|
409
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.
|
|
409
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.60
|
|
410
410
|
funding_uri: https://github.com/sponsors/pboling
|
|
411
411
|
wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
|
|
412
412
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
|
Binary file
|