kettle-dev 1.1.7 → 1.1.9
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/.aiignore.example +19 -0
- data/.github/workflows/dep-heads.yml +105 -0
- data/.gitlab-ci.yml.example +66 -4
- data/.junie/guidelines.md +1 -1
- data/.rubocop.yml +3 -9
- data/Appraisals +21 -41
- data/Appraisals.example +20 -22
- data/CHANGELOG.md +39 -2
- data/Gemfile +5 -9
- data/Gemfile.example +5 -9
- data/README.md +4 -2
- data/README.md.example +4 -2
- data/Rakefile.example +1 -1
- data/gemfiles/modular/debug.gemfile +13 -0
- data/gemfiles/modular/erb/r2/v3.0.gemfile +1 -0
- data/gemfiles/modular/erb/r2.3/default.gemfile +6 -0
- data/gemfiles/modular/erb/r2.6/v2.2.gemfile +3 -0
- data/gemfiles/modular/erb/r3/v5.0.gemfile +1 -0
- data/gemfiles/modular/erb/r3.1/v4.0.gemfile +2 -0
- data/gemfiles/modular/erb/vHEAD.gemfile +2 -0
- data/gemfiles/modular/mutex_m/r2/v0.3.gemfile +2 -0
- data/gemfiles/modular/mutex_m/r2.4/v0.1.gemfile +3 -0
- data/gemfiles/modular/mutex_m/r3/v0.3.gemfile +2 -0
- data/gemfiles/modular/mutex_m/vHEAD.gemfile +2 -0
- data/gemfiles/modular/runtime_heads.gemfile +10 -0
- data/gemfiles/modular/runtime_heads.gemfile.example +8 -0
- data/gemfiles/modular/stringio/r2/v3.0.gemfile +5 -0
- data/gemfiles/modular/stringio/r2.4/v0.0.2.gemfile +4 -0
- data/gemfiles/modular/stringio/r3/v3.0.gemfile +5 -0
- data/gemfiles/modular/stringio/vHEAD.gemfile +2 -0
- data/gemfiles/modular/x_std_libs/r2/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/r2.3/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/r2.4/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/r2.6/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/r3/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/r3.1/libs.gemfile +3 -0
- data/gemfiles/modular/x_std_libs/vHEAD.gemfile +3 -0
- data/gemfiles/modular/x_std_libs.gemfile +2 -0
- data/lib/kettle/dev/rakelib/spec_test.rake +35 -16
- data/lib/kettle/dev/tasks/template_task.rb +100 -59
- data/lib/kettle/dev/version.rb +1 -1
- data/lib/kettle/dev.rb +4 -0
- data.tar.gz.sig +0 -0
- metadata +31 -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: 390782fc59b3ecdb4da6eba290dfb4bcb4859b903837f97040e9d5a4877dc3d6
|
4
|
+
data.tar.gz: 18a699e55e20416b03c34b060d79ec07c61f3278dda3d906b276687a7f8b6794
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c405e9036b50bb07e9ba968842beab12120a759f2692f074f938d22f24cb35fd8850ea045f739ed7f765b79ee1a54ab7417380813b93c802801f383d6a2cfad
|
7
|
+
data.tar.gz: 5334de8b782bf4abbc236261912b6b757ae4bac4c4969ed8a420b5965e8aa395f3f076cb72f5de60c83c18e602037af523d89cddc82a00ecd90b615817af8d64
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.aiignore.example
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# An .aiignore file follows the same syntax as a .gitignore file.
|
2
|
+
# .gitignore documentation: https://git-scm.com/docs/gitignore
|
3
|
+
|
4
|
+
# you can ignore files
|
5
|
+
.DS_Store
|
6
|
+
*.log
|
7
|
+
*.tmp
|
8
|
+
|
9
|
+
# or folders
|
10
|
+
.devcontainer/
|
11
|
+
.qlty/
|
12
|
+
.yardoc/
|
13
|
+
dist/
|
14
|
+
build/
|
15
|
+
out/
|
16
|
+
coverage/
|
17
|
+
docs/
|
18
|
+
pkg/
|
19
|
+
results/
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# Targets the evergreen latest release of ruby, truffleruby, and jruby
|
2
|
+
# and tests against the HEAD of runtime dependencies
|
3
|
+
name: Runtime Deps @ HEAD
|
4
|
+
|
5
|
+
permissions:
|
6
|
+
contents: read
|
7
|
+
|
8
|
+
env:
|
9
|
+
K_SOUP_COV_DO: false
|
10
|
+
|
11
|
+
on:
|
12
|
+
push:
|
13
|
+
branches:
|
14
|
+
- 'main'
|
15
|
+
- '*-stable'
|
16
|
+
tags:
|
17
|
+
- '!*' # Do not execute on tags
|
18
|
+
pull_request:
|
19
|
+
branches:
|
20
|
+
- '*'
|
21
|
+
# Allow manually triggering the workflow.
|
22
|
+
workflow_dispatch:
|
23
|
+
|
24
|
+
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
25
|
+
concurrency:
|
26
|
+
# The concurrency group contains the workflow name and the branch name.
|
27
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
28
|
+
cancel-in-progress: true
|
29
|
+
|
30
|
+
jobs:
|
31
|
+
test:
|
32
|
+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
|
33
|
+
name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
|
34
|
+
runs-on: ubuntu-latest
|
35
|
+
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
|
36
|
+
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
|
37
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
|
38
|
+
strategy:
|
39
|
+
fail-fast: true
|
40
|
+
matrix:
|
41
|
+
include:
|
42
|
+
# Ruby 3.4
|
43
|
+
- ruby: "ruby"
|
44
|
+
appraisal: "dep-heads"
|
45
|
+
exec_cmd: "rake test"
|
46
|
+
gemfile: "Appraisal.root"
|
47
|
+
rubygems: latest
|
48
|
+
bundler: latest
|
49
|
+
|
50
|
+
# truffleruby-24.1
|
51
|
+
# (according to documentation: targets Ruby 3.3 compatibility)
|
52
|
+
# (according to runtime: targets Ruby 3.2 compatibility)
|
53
|
+
- ruby: "truffleruby"
|
54
|
+
appraisal: "dep-heads"
|
55
|
+
exec_cmd: "rake test"
|
56
|
+
gemfile: "Appraisal.root"
|
57
|
+
rubygems: default
|
58
|
+
bundler: default
|
59
|
+
|
60
|
+
# jruby-10.0 (targets Ruby 3.4 compatibility)
|
61
|
+
- ruby: "jruby"
|
62
|
+
appraisal: "dep-heads"
|
63
|
+
exec_cmd: "rake test"
|
64
|
+
gemfile: "Appraisal.root"
|
65
|
+
rubygems: default
|
66
|
+
bundler: default
|
67
|
+
|
68
|
+
steps:
|
69
|
+
- name: Checkout
|
70
|
+
if: ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
71
|
+
uses: actions/checkout@v5
|
72
|
+
|
73
|
+
- name: Setup Ruby & RubyGems
|
74
|
+
if: ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
75
|
+
uses: ruby/setup-ruby@v1
|
76
|
+
with:
|
77
|
+
ruby-version: ${{ matrix.ruby }}
|
78
|
+
rubygems: ${{ matrix.rubygems }}
|
79
|
+
bundler: ${{ matrix.bundler }}
|
80
|
+
bundler-cache: false
|
81
|
+
|
82
|
+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
83
|
+
# We need to do this first to get appraisal installed.
|
84
|
+
# NOTE: This does not use the primary Gemfile at all.
|
85
|
+
- name: "Install Root Appraisal"
|
86
|
+
if: ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
87
|
+
run: bundle
|
88
|
+
|
89
|
+
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
90
|
+
if: ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
91
|
+
id: bundleAttempt1
|
92
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
93
|
+
# Continue to the next step on failure
|
94
|
+
continue-on-error: true
|
95
|
+
|
96
|
+
# Effectively an automatic retry of the previous step.
|
97
|
+
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
98
|
+
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
99
|
+
if: ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
100
|
+
id: bundleAttempt2
|
101
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
102
|
+
|
103
|
+
- name: Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
|
104
|
+
if: ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
|
105
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
data/.gitlab-ci.yml.example
CHANGED
@@ -38,12 +38,12 @@ workflow:
|
|
38
38
|
# For tags, create a pipeline.
|
39
39
|
- if: '$CI_COMMIT_TAG'
|
40
40
|
|
41
|
-
.
|
41
|
+
.test_template-current: &test_definition-current
|
42
42
|
image: ruby:${RUBY_VERSION}
|
43
43
|
stage: test
|
44
44
|
script:
|
45
45
|
# || true so we don't fail here, because it'll probably work even if the gem update fails
|
46
|
-
- gem update --system > /dev/null 2>&1 || true
|
46
|
+
- gem update --silent --system > /dev/null 2>&1 || true
|
47
47
|
- mkdir -p vendor/bundle
|
48
48
|
- bundle config set path 'vendor/bundle'
|
49
49
|
- chmod +t -R vendor/bundle
|
@@ -61,14 +61,76 @@ workflow:
|
|
61
61
|
--tag \~ci_skip \
|
62
62
|
--format progress \
|
63
63
|
--format RspecJunitFormatter
|
64
|
+
cache:
|
65
|
+
key: ${CI_JOB_IMAGE}
|
66
|
+
paths:
|
67
|
+
- vendor/ruby
|
64
68
|
|
69
|
+
.test_template-legacy: &test_definition-legacy
|
70
|
+
image: ruby:${RUBY_VERSION}
|
71
|
+
stage: test
|
72
|
+
script:
|
73
|
+
# RUBYGEMS_VERSION because we support EOL Ruby still...
|
74
|
+
# || true so we don't fail here, because it'll probably work even if the gem update fails
|
75
|
+
- gem install rubygems-update -v ${RUBYGEMS_VERSION} || true
|
76
|
+
# Actually updates both RubyGems and Bundler!
|
77
|
+
- update_rubygems
|
78
|
+
- mkdir -p vendor/bundle
|
79
|
+
- bundle config set path 'vendor/bundle'
|
80
|
+
- chmod +t -R vendor/bundle
|
81
|
+
- chmod o-w -R vendor/bundle
|
82
|
+
# Setup appraisal2
|
83
|
+
- bundle install
|
84
|
+
# Bundle a specific appraisal
|
85
|
+
- bundle exec appraisal ${APPRAISAL} bundle install
|
86
|
+
# Light smoke test
|
87
|
+
- bundle exec appraisal ${APPRAISAL} bin/rake --tasks
|
88
|
+
# Run tests, skipping those that won't work in CI
|
89
|
+
- >
|
90
|
+
bundle exec appraisal unlocked_deps \
|
91
|
+
bin/rspec spec \
|
92
|
+
--tag \~ci_skip \
|
93
|
+
--format progress \
|
94
|
+
--format RspecJunitFormatter
|
65
95
|
cache:
|
66
96
|
key: ${CI_JOB_IMAGE}
|
67
97
|
paths:
|
68
98
|
- vendor/ruby
|
69
99
|
|
70
|
-
current
|
71
|
-
|
100
|
+
ruby-current:
|
101
|
+
variables:
|
102
|
+
K_SOUP_COV_DO: true
|
103
|
+
<<: *test_definition-current
|
72
104
|
parallel:
|
73
105
|
matrix:
|
74
106
|
- RUBY_VERSION: ["3.2", "3.3", "3.4"]
|
107
|
+
|
108
|
+
ruby-ruby3_1:
|
109
|
+
variables:
|
110
|
+
RUBYGEMS_VERSION: "3.6.9"
|
111
|
+
APPRAISAL: ruby_3_1
|
112
|
+
K_SOUP_COV_DO: false
|
113
|
+
<<: *test_definition-legacy
|
114
|
+
parallel:
|
115
|
+
matrix:
|
116
|
+
- RUBY_VERSION: ["3.1"]
|
117
|
+
|
118
|
+
ruby-ruby3_0:
|
119
|
+
variables:
|
120
|
+
RUBYGEMS_VERSION: "3.5.23"
|
121
|
+
APPRAISAL: ruby_3_0
|
122
|
+
K_SOUP_COV_DO: false
|
123
|
+
<<: *test_definition-legacy
|
124
|
+
parallel:
|
125
|
+
matrix:
|
126
|
+
- RUBY_VERSION: ["3.0"]
|
127
|
+
|
128
|
+
ruby-ruby2_7:
|
129
|
+
variables:
|
130
|
+
RUBYGEMS_VERSION: "3.4.22"
|
131
|
+
APPRAISAL: ruby_2_7
|
132
|
+
K_SOUP_COV_DO: false
|
133
|
+
<<: *test_definition-legacy
|
134
|
+
parallel:
|
135
|
+
matrix:
|
136
|
+
- RUBY_VERSION: ["2.7"]
|
data/.junie/guidelines.md
CHANGED
@@ -13,7 +13,7 @@ This document captures project-specific knowledge to streamline setup, testing,
|
|
13
13
|
- See CONTRIBUTING.md for details on how to set up your local environment.
|
14
14
|
- Ruby and Bundler
|
15
15
|
- Runtime supports very old Rubies (>= 1.9.2) but development tooling targets >= 2.3 because of CI/setup-ruby and dev dependencies.
|
16
|
-
- Use a recent Ruby (>= 3.
|
16
|
+
- Use a recent Ruby (>= 3.4 recommended) for fastest setup and to exercise modern coverage behavior.
|
17
17
|
- Install dependencies via Bundler in project root:
|
18
18
|
- bundle install
|
19
19
|
- Rake tasks (preferred entry points)
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
inherit_gem:
|
2
2
|
rubocop-lts: config/rubygem_rspec.yml
|
3
3
|
|
4
|
+
inherit_from:
|
5
|
+
- .rubocop_rspec.yml
|
6
|
+
|
4
7
|
plugins: rubocop-on-rbs
|
5
8
|
|
6
9
|
RBS:
|
@@ -8,12 +11,3 @@ RBS:
|
|
8
11
|
|
9
12
|
Layout/IndentationConsistency:
|
10
13
|
Exclude: ['*.md']
|
11
|
-
|
12
|
-
RSpec/ExampleLength:
|
13
|
-
Enabled: false
|
14
|
-
|
15
|
-
RSpec/MultipleExpectations:
|
16
|
-
Enabled: false
|
17
|
-
|
18
|
-
RSpec/NestedGroups:
|
19
|
-
Enabled: false
|
data/Appraisals
CHANGED
@@ -20,12 +20,12 @@
|
|
20
20
|
# - Broken workflow indicates that a new contributor will have a bad time
|
21
21
|
#
|
22
22
|
appraise "unlocked_deps" do
|
23
|
-
gem "erb"
|
24
23
|
eval_gemfile "modular/coverage.gemfile"
|
25
24
|
eval_gemfile "modular/documentation.gemfile"
|
26
25
|
eval_gemfile "modular/style.gemfile"
|
27
26
|
eval_gemfile "modular/optional.gemfile"
|
28
27
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
28
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
29
29
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
30
30
|
# eval_gemfile "modular/injected.gemfile"
|
31
31
|
end
|
@@ -33,13 +33,11 @@ end
|
|
33
33
|
# Used for head (nightly) releases of ruby, truffleruby, and jruby.
|
34
34
|
# Split into discrete appraisals if one of them needs a dependency locked discretely.
|
35
35
|
appraise "head" do
|
36
|
-
gem
|
37
|
-
# See: https://github.com/vcr/vcr/issues/1057
|
36
|
+
# Why is cgi gem here? See: https://github.com/vcr/vcr/issues/1057
|
38
37
|
gem "cgi", ">= 0.5"
|
39
|
-
gem "mutex_m", ">= 0.2"
|
40
|
-
gem "stringio", ">= 3.0"
|
41
38
|
gem "benchmark", "~> 0.4", ">= 0.4.1"
|
42
39
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
40
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
43
41
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
44
42
|
# eval_gemfile "modular/injected.gemfile"
|
45
43
|
end
|
@@ -47,61 +45,55 @@ end
|
|
47
45
|
# Used for current releases of ruby, truffleruby, and jruby.
|
48
46
|
# Split into discrete appraisals if one of them needs a dependency locked discretely.
|
49
47
|
appraise "current" do
|
50
|
-
gem "erb"
|
51
|
-
gem "mutex_m", ">= 0.2"
|
52
|
-
gem "stringio", ">= 3.0"
|
53
48
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
49
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
54
50
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
55
51
|
# eval_gemfile "modular/injected.gemfile"
|
56
52
|
end
|
57
53
|
|
54
|
+
# Test current Rubies against head versions of runtime dependencies
|
55
|
+
appraise "dep-heads" do
|
56
|
+
eval_gemfile "modular/runtime_heads.gemfile"
|
57
|
+
end
|
58
|
+
|
58
59
|
appraise "ruby-2-3" do
|
59
|
-
# The cake is a lie. erb v2.2, the oldest release on RubyGems.org, was never compatible with Ruby 2.3.
|
60
|
-
# This means we have no choice but to use the erb that shipped with Ruby 2.3
|
61
|
-
# /opt/hostedtoolcache/Ruby/2.3.8/x64/lib/ruby/gems/2.3.0/gems/erb-2.2.2/lib/erb.rb:670:in `prepare_trim_mode': undefined method `match?' for "-":String (NoMethodError)
|
62
|
-
# spec.add_development_dependency("erb", ">= 2.2") # ruby >= 2.3.0, not SemVer, old rubies get dropped in a patch.
|
63
60
|
eval_gemfile "modular/recording/r2.3/recording.gemfile"
|
61
|
+
eval_gemfile "modular/x_std_libs/r2.3/libs.gemfile"
|
64
62
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
65
63
|
# eval_gemfile "modular/injected.gemfile"
|
66
64
|
end
|
67
65
|
|
68
66
|
appraise "ruby-2-4" do
|
69
|
-
gem "erb"
|
70
67
|
eval_gemfile "modular/recording/r2.4/recording.gemfile"
|
68
|
+
eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile"
|
71
69
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
72
70
|
# eval_gemfile "modular/injected.gemfile"
|
73
71
|
end
|
74
72
|
|
75
73
|
appraise "ruby-2-5" do
|
76
|
-
gem "erb"
|
77
74
|
eval_gemfile "modular/recording/r2.5/recording.gemfile"
|
75
|
+
eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile"
|
78
76
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
79
77
|
# eval_gemfile "modular/injected.gemfile"
|
80
78
|
end
|
81
79
|
|
82
80
|
appraise "ruby-2-6" do
|
83
|
-
gem "erb"
|
84
|
-
gem "mutex_m", "~> 0.2"
|
85
|
-
gem "stringio", "~> 3.0"
|
86
81
|
eval_gemfile "modular/recording/r2.5/recording.gemfile"
|
82
|
+
eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile"
|
87
83
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
88
84
|
# eval_gemfile "modular/injected.gemfile"
|
89
85
|
end
|
90
86
|
|
91
87
|
appraise "ruby-2-7" do
|
92
|
-
gem "erb"
|
93
|
-
gem "mutex_m", "~> 0.2"
|
94
|
-
gem "stringio", "~> 3.0"
|
95
88
|
eval_gemfile "modular/recording/r2.5/recording.gemfile"
|
89
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
96
90
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
97
91
|
# eval_gemfile "modular/injected.gemfile"
|
98
92
|
end
|
99
93
|
|
100
94
|
appraise "ruby-3-0" do
|
101
|
-
gem "erb"
|
102
|
-
gem "mutex_m", "~> 0.2"
|
103
|
-
gem "stringio", "~> 3.0"
|
104
95
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
96
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
105
97
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
106
98
|
# eval_gemfile "modular/injected.gemfile"
|
107
99
|
end
|
@@ -109,10 +101,8 @@ end
|
|
109
101
|
appraise "ruby-3-1" do
|
110
102
|
# all versions of git gem are incompatible with truffleruby v23.0, syntactically.
|
111
103
|
# So tests relying on the git gem are skipped, to avoid loading it.
|
112
|
-
gem "erb"
|
113
|
-
gem "mutex_m", "~> 0.2"
|
114
|
-
gem "stringio", "~> 3.0"
|
115
104
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
105
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
116
106
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
117
107
|
# eval_gemfile "modular/injected.gemfile"
|
118
108
|
end
|
@@ -120,50 +110,40 @@ end
|
|
120
110
|
appraise "ruby-3-2" do
|
121
111
|
# all versions of git gem are incompatible with truffleruby v23.1, syntactically.
|
122
112
|
# So tests relying on the git gem are skipped, to avoid loading it.
|
123
|
-
gem "erb"
|
124
|
-
gem "mutex_m", "~> 0.2"
|
125
|
-
gem "stringio", "~> 3.0"
|
126
113
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
114
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
127
115
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
128
116
|
# eval_gemfile "modular/injected.gemfile"
|
129
117
|
end
|
130
118
|
|
131
119
|
appraise "ruby-3-3" do
|
132
120
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
133
|
-
|
134
|
-
gem "mutex_m", "~> 0.2"
|
135
|
-
gem "stringio", "~> 3.0"
|
121
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
136
122
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
137
123
|
# eval_gemfile "modular/injected.gemfile"
|
138
124
|
end
|
139
125
|
|
140
126
|
# Only run security audit on the latest version of Ruby
|
141
127
|
appraise "audit" do
|
142
|
-
|
143
|
-
gem "mutex_m", "~> 0.2"
|
144
|
-
gem "stringio", "~> 3.0"
|
128
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
145
129
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
146
130
|
# eval_gemfile "modular/injected.gemfile"
|
147
131
|
end
|
148
132
|
|
149
133
|
# Only run coverage on the latest version of Ruby
|
150
134
|
appraise "coverage" do
|
151
|
-
gem "erb"
|
152
|
-
gem "mutex_m", "~> 0.2"
|
153
|
-
gem "stringio", "~> 3.0"
|
154
135
|
eval_gemfile "modular/coverage.gemfile"
|
155
136
|
eval_gemfile "modular/optional.gemfile"
|
156
137
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
138
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
157
139
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
158
140
|
# eval_gemfile "modular/injected.gemfile"
|
159
141
|
end
|
160
142
|
|
161
143
|
# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
|
162
144
|
appraise "style" do
|
163
|
-
gem "erb"
|
164
|
-
gem "mutex_m", "~> 0.2"
|
165
|
-
gem "stringio", "~> 3.0"
|
166
145
|
eval_gemfile "modular/style.gemfile"
|
146
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
167
147
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
168
148
|
# eval_gemfile "modular/injected.gemfile"
|
169
149
|
end
|
data/Appraisals.example
CHANGED
@@ -24,79 +24,77 @@ appraise "unlocked_deps" do
|
|
24
24
|
eval_gemfile "modular/documentation.gemfile"
|
25
25
|
eval_gemfile "modular/style.gemfile"
|
26
26
|
eval_gemfile "modular/optional.gemfile"
|
27
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
27
28
|
end
|
28
29
|
|
29
30
|
# Used for head (nightly) releases of ruby, truffleruby, and jruby.
|
30
31
|
# Split into discrete appraisals if one of them needs a dependency locked discretely.
|
31
32
|
appraise "head" do
|
32
|
-
gem "mutex_m", ">= 0.2"
|
33
|
-
gem "stringio", ">= 3.0"
|
34
33
|
gem "benchmark", "~> 0.4", ">= 0.4.1"
|
34
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
35
35
|
end
|
36
36
|
|
37
37
|
# Used for current releases of ruby, truffleruby, and jruby.
|
38
38
|
# Split into discrete appraisals if one of them needs a dependency locked discretely.
|
39
39
|
appraise "current" do
|
40
|
-
|
41
|
-
|
40
|
+
eval_gemfile "modular/x_std_libs.gemfile"
|
41
|
+
end
|
42
|
+
|
43
|
+
# Test current Rubies against head versions of runtime dependencies
|
44
|
+
appraise "dep-heads" do
|
45
|
+
eval_gemfile "modular/runtime_heads.gemfile"
|
42
46
|
end
|
43
47
|
|
44
48
|
appraise "ruby-2-3" do
|
49
|
+
eval_gemfile "modular/x_std_libs/r2.3/libs.gemfile"
|
45
50
|
end
|
46
51
|
|
47
52
|
appraise "ruby-2-4" do
|
53
|
+
eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile"
|
48
54
|
end
|
49
55
|
|
50
56
|
appraise "ruby-2-5" do
|
57
|
+
eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile"
|
51
58
|
end
|
52
59
|
|
53
60
|
appraise "ruby-2-6" do
|
54
|
-
|
55
|
-
gem "stringio", "~> 3.0"
|
61
|
+
eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile"
|
56
62
|
end
|
57
63
|
|
58
64
|
appraise "ruby-2-7" do
|
59
|
-
|
60
|
-
gem "stringio", "~> 3.0"
|
65
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
61
66
|
end
|
62
67
|
|
63
68
|
appraise "ruby-3-0" do
|
64
|
-
|
65
|
-
gem "stringio", "~> 3.0"
|
69
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
66
70
|
end
|
67
71
|
|
68
72
|
appraise "ruby-3-1" do
|
69
|
-
|
70
|
-
gem "stringio", "~> 3.0"
|
73
|
+
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
|
71
74
|
end
|
72
75
|
|
73
76
|
appraise "ruby-3-2" do
|
74
|
-
|
75
|
-
gem "stringio", "~> 3.0"
|
77
|
+
eval_gemfile "modular/x_std_libs/3/libs.gemfile"
|
76
78
|
end
|
77
79
|
|
78
80
|
appraise "ruby-3-3" do
|
79
|
-
|
80
|
-
gem "stringio", "~> 3.0"
|
81
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
81
82
|
end
|
82
83
|
|
83
84
|
# Only run security audit on the latest version of Ruby
|
84
85
|
appraise "audit" do
|
85
|
-
|
86
|
-
gem "stringio", "~> 3.0"
|
86
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
87
87
|
end
|
88
88
|
|
89
89
|
# Only run coverage on the latest version of Ruby
|
90
90
|
appraise "coverage" do
|
91
|
-
gem "mutex_m", "~> 0.2"
|
92
|
-
gem "stringio", "~> 3.0"
|
93
91
|
eval_gemfile "modular/coverage.gemfile"
|
94
92
|
eval_gemfile "modular/optional.gemfile"
|
93
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
95
94
|
end
|
96
95
|
|
97
96
|
# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
|
98
97
|
appraise "style" do
|
99
|
-
gem "mutex_m", "~> 0.2"
|
100
|
-
gem "stringio", "~> 3.0"
|
101
98
|
eval_gemfile "modular/style.gemfile"
|
99
|
+
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
|
102
100
|
end
|
data/CHANGELOG.md
CHANGED
@@ -24,6 +24,39 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
24
24
|
### Fixed
|
25
25
|
### Security
|
26
26
|
|
27
|
+
## [1.1.9] - 2025-09-07
|
28
|
+
- TAG: [v1.1.9][1.1.9t]
|
29
|
+
- COVERAGE: 97.11% -- 3255/3352 lines in 23 files
|
30
|
+
- BRANCH COVERAGE: 81.91% -- 1345/1642 branches in 23 files
|
31
|
+
- 76.65% documented
|
32
|
+
### Added
|
33
|
+
- badge for current runtime heads in example readme
|
34
|
+
### Fixed
|
35
|
+
- Add gemfiles/modular/x_std_libs.gemfile & injected.gemfile to template
|
36
|
+
- example version of gemfiles/modular/runtime_heads.gemfile
|
37
|
+
- necessary to avoid deps on recording gems in the template
|
38
|
+
|
39
|
+
## [1.1.8] - 2025-09-07
|
40
|
+
- TAG: [v1.1.8][1.1.8t]
|
41
|
+
- COVERAGE: 97.16% -- 3246/3341 lines in 23 files
|
42
|
+
- BRANCH COVERAGE: 81.95% -- 1344/1640 branches in 23 files
|
43
|
+
- 76.97% documented
|
44
|
+
### Added
|
45
|
+
- add .aiignore to the template
|
46
|
+
- add .rubocop_rspec.yml to the template
|
47
|
+
- gemfiles/modular/x_std_libs pattern to template, including:
|
48
|
+
- erb
|
49
|
+
- mutex_m
|
50
|
+
- stringio
|
51
|
+
- gemfiles/modular/debug.gemfile
|
52
|
+
- gemfiles/modular/runtime_heads.gemfile
|
53
|
+
- .github/workflows/dep-heads.yml
|
54
|
+
- (performance) filter and prioritize example files in the `.github` directory
|
55
|
+
- added codecov config to the template
|
56
|
+
- Kettle::Dev.default_registered?
|
57
|
+
### Fixed
|
58
|
+
- run specs as part of the test task
|
59
|
+
|
27
60
|
## [1.1.7] - 2025-09-06
|
28
61
|
- TAG: [v1.1.7][1.1.7t]
|
29
62
|
- COVERAGE: 97.12% -- 3237/3333 lines in 23 files
|
@@ -71,7 +104,7 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
71
104
|
### Removed
|
72
105
|
- defensive NameError handling in ChangelogCLI.abort method
|
73
106
|
### Fixed
|
74
|
-
- replace token {OPENCOLLECTIVE|ORG_NAME} with funding org name
|
107
|
+
- replace token `{OPENCOLLECTIVE|ORG_NAME}` with funding org name
|
75
108
|
- prefer .example version of .git-hooks
|
76
109
|
- kettle-commit-msg now runs via rubygems (not bundler) so it will work via a system gem
|
77
110
|
- fixed logic for handling derivation of forge and funding URLs
|
@@ -522,7 +555,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
522
555
|
- Selecting will run the selected workflow via `act`
|
523
556
|
- This may move to its own gem in the future.
|
524
557
|
|
525
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.
|
558
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.9...HEAD
|
559
|
+
[1.1.9]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.8...v1.1.9
|
560
|
+
[1.1.9t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.9
|
561
|
+
[1.1.8]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.7...v1.1.8
|
562
|
+
[1.1.8t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.8
|
526
563
|
[1.1.7]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.6...v1.1.7
|
527
564
|
[1.1.7t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.7
|
528
565
|
[1.1.6]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.5...v1.1.6
|
data/Gemfile
CHANGED
@@ -12,15 +12,8 @@ git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" }
|
|
12
12
|
# Include dependencies from <gem name>.gemspec
|
13
13
|
gemspec
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
# Use binding.break, binding.b, or debugger in code
|
18
|
-
gem "debug", ">= 1.0.0" # ruby >= 2.7
|
19
|
-
gem "gem_bench", "~> 2.0", ">= 2.0.5"
|
20
|
-
|
21
|
-
# Dev Console - Binding.pry - Irb replacement
|
22
|
-
gem "pry", "~> 0.14" # ruby >= 2.0
|
23
|
-
end
|
15
|
+
# Debugging
|
16
|
+
eval_gemfile "gemfiles/modular/debug.gemfile"
|
24
17
|
|
25
18
|
# Code Coverage
|
26
19
|
eval_gemfile "gemfiles/modular/coverage.gemfile"
|
@@ -37,5 +30,8 @@ eval_gemfile "gemfiles/modular/documentation.gemfile"
|
|
37
30
|
# Optional
|
38
31
|
eval_gemfile "gemfiles/modular/optional.gemfile"
|
39
32
|
|
33
|
+
### Std Lib Extracted Gems
|
34
|
+
eval_gemfile "gemfiles/modular/x_std_libs.gemfile"
|
35
|
+
|
40
36
|
# Dependencies injected by the kettle-dev-setup script & kettle:dev:install rake task
|
41
37
|
# eval_gemfile "gemfiles/modular/injected.gemfile"
|
data/Gemfile.example
CHANGED
@@ -12,15 +12,8 @@ git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" }
|
|
12
12
|
# Include dependencies from <gem name>.gemspec
|
13
13
|
gemspec
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
# Use binding.break, binding.b, or debugger in code
|
18
|
-
gem "debug", ">= 1.0.0" # ruby >= 2.7
|
19
|
-
gem "gem_bench", "~> 2.0", ">= 2.0.5"
|
20
|
-
|
21
|
-
# Dev Console - Binding.pry - Irb replacement
|
22
|
-
gem "pry", "~> 0.14" # ruby >= 2.0
|
23
|
-
end
|
15
|
+
# Debugging
|
16
|
+
eval_gemfile "gemfiles/modular/debug.gemfile"
|
24
17
|
|
25
18
|
# Code Coverage
|
26
19
|
eval_gemfile "gemfiles/modular/coverage.gemfile"
|
@@ -33,3 +26,6 @@ eval_gemfile "gemfiles/modular/documentation.gemfile"
|
|
33
26
|
|
34
27
|
# Optional
|
35
28
|
eval_gemfile "gemfiles/modular/optional.gemfile"
|
29
|
+
|
30
|
+
### Std Lib Extracted Gems
|
31
|
+
eval_gemfile "gemfiles/modular/x_std_libs.gemfile"
|