Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ancient.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,23 @@ jobs:
# # Ruby 2.3
# - ruby: "ruby-2.3"
# appraisal: "ruby-2-3"
# exec_cmd: "rake test"
# exec_cmd: "rake magic"
# gemfile: "Appraisal.root"
# rubygems: "3.3.27"
# bundler: "2.3.27"

# Ruby 2.4
- ruby: "ruby-2.4"
appraisal: "ruby-2-4"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.5
- ruby: "ruby-2.5"
appraisal: "ruby-2-5"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/caboose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,47 +38,47 @@ jobs:
# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v0"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v1"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v2"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v3"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v4"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.3
- ruby: "ruby-2.3"
appraisal: "ruby-2-3-hashie_v5"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
# Coverage
- ruby: "ruby"
appraisal: "coverage"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/current.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,23 +40,23 @@ jobs:
# Ruby 3.4
- ruby: "ruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest

# truffleruby-24.1 (targets Ruby 3.3 compatibility)
- ruby: "truffleruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default

# jruby-10.0 (targets Ruby 3.4 compatibility)
- ruby: "jruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/dep-heads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,23 @@ jobs:
# Ruby 3.4
- ruby: "ruby"
appraisal: "dep-heads"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest

# truffleruby-24.1 (targets Ruby 3.3 compatibility)
- ruby: "truffleruby"
appraisal: "dep-heads"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default

# jruby-10.0 (targets Ruby 3.4 compatibility)
- ruby: "jruby"
appraisal: "dep-heads"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/heads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,23 @@ jobs:
# ruby-head
- ruby: "ruby-head"
appraisal: "head"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default

# truffleruby-head
- ruby: "truffleruby-head"
appraisal: "head"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default

# jruby-head
- ruby: "jruby-head"
appraisal: "head"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/jruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
# jruby-9.4 (targets Ruby 3.1 compatibility)
- ruby: "jruby-9.4"
appraisal: "ruby-3-1"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ jobs:
# Ruby 3.0
- ruby: "ruby-3.0"
appraisal: "ruby-3-0"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: '3.5.23'
bundler: '2.5.23'

# Ruby 3.1
- ruby: "ruby-3.1"
appraisal: "ruby-3-1"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: '3.6.9'
bundler: '2.6.9'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# Ruby 3.4
- ruby: "ruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest
Expand All @@ -50,15 +50,15 @@ jobs:
# (according to runtime: targets Ruby 3.2 compatibility)
- ruby: "truffleruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default

# jruby-10.0 (targets Ruby 3.4 compatibility)
- ruby: "jruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: default
bundler: default
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/supported.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ jobs:
# Ruby 3.2
- ruby: "ruby-3.2"
appraisal: "ruby-3-2"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest

# Ruby 3.3
- ruby: "ruby-3.3"
appraisal: "ruby-3-3"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unsupported.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ jobs:
# Ruby 2.6
- ruby: "ruby-2.6"
appraisal: "ruby-2-6"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: '3.4.22'
bundler: '2.4.22'

# Ruby 2.7
- ruby: "ruby-2.7"
appraisal: "ruby-2-7"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: '3.4.22'
bundler: '2.4.22'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
# Ruby 3.4
- ruby: "ruby"
appraisal: "current"
exec_cmd: "rake test"
exec_cmd: "rake magic"
gemfile: "Appraisal.root"
rubygems: latest
bundler: latest
Expand Down
42 changes: 41 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

# kettle-dev Rakefile v1.1.51 - 2025-11-07
# kettle-dev Rakefile v1.1.60 - 2025-11-23
# Ruby 2.3 (Safe Navigation) or higher required
#
# MIT License (see License.txt)
Expand All @@ -11,6 +11,8 @@
#
# Sets up tasks for appraisal, floss_funding, rspec, minitest, rubocop, reek, yard, and stone_checksums.
#
# rake appraisal:install # Install Appraisal gemfiles (initial setup...
# rake appraisal:reset # Delete Appraisal lockfiles (gemfiles/*.gemfile.lock)
# rake appraisal:update # Update Appraisal gemfiles and run RuboCop...
# rake bench # Run all benchmarks (alias for bench:run)
# rake bench:list # List available benchmark scripts
Expand Down Expand Up @@ -54,6 +56,44 @@ end
# External gems that define tasks - add here!
require "kettle/dev"

### SPEC TASKS
# For coverage aggregation with SimpleCov merging:
# - Each task uses a unique K_SOUP_COV_COMMAND_NAME so SimpleCov tracks them separately
# - K_SOUP_COV_USE_MERGING=true must be set in .envrc for results to merge
# - K_SOUP_COV_MERGE_TIMEOUT should be set long enough for all tasks to complete
begin
require "rspec/core/rake_task"

# kettle-dev creates an RSpec::Core::RakeTask.new(:spec) which has both
# prerequisites and actions. We will leave that, and the default test task, alone,
# and use *magic* here.
Rake::Task[:magic].clear if Rake::Task.task_defined?(:magic)
desc("Run specs")
RSpec::Core::RakeTask.new(:magic) do |t|
t.pattern = "./spec/**/*_spec.rb"
end

desc("Set SimpleCov command name for remaining specs")
task(:set_coverage_command_name) do
ENV["K_SOUP_COV_COMMAND_NAME"] = "Test Coverage"
end
Rake::Task[:magic].enhance([:set_coverage_command_name])

Rake::Task[:coverage].clear if Rake::Task.task_defined?(:coverage)
desc("Slap magic onto the main coverage task")
task(coverage: [:magic])
rescue LoadError
desc("(stub) spec is unavailable")
task(:spec) do # rubocop:disable Rake/DuplicateTask
warn("NOTE: rspec isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
end

desc("(stub) test is unavailable")
task(:test) do # rubocop:disable Rake/DuplicateTask
warn("NOTE: rspec isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
end
end

### RELEASE TASKS
# Setup stone_checksums
begin
Expand Down
Loading