-
Notifications
You must be signed in to change notification settings - Fork 289
Add Ruby 4.0 to CI matrix #938
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Include Ruby 4.0 in the CI test matrix for both specs and integration tests.
📝 WalkthroughWalkthroughThis pull request extends the Ruby version matrix in GitHub Actions CI workflows from versions 3.2, 3.3, and 3.4 to include Ruby 4.0. The change updates matrix-driven job iterations and the Ruby setup step configuration across multiple workflow files. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/specs.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: Integrations (3.2)
- GitHub Check: Integrations (3.3)
- GitHub Check: Integrations (3.4)
- GitHub Check: Integrations (4.0)
- GitHub Check: Integrations (4.0)
- GitHub Check: Integrations (3.3)
- GitHub Check: Integrations (3.2)
- GitHub Check: Integrations (3.4)
| strategy: | ||
| matrix: | ||
| ruby: ['3.2', '3.3', '3.4'] | ||
| ruby: ['3.2', '3.3', '3.4', '4.0'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Ruby 4.0 release date official announcement 2025
💡 Result:
The official announcement for Ruby 4.0.0 was posted on December 25, 2025. [1]
Sources:
- Ruby-lang.org — "Ruby 4.0.0 Released" (Dec 25, 2025). [1]
🌐 Web query:
ruby/setup-ruby GitHub action Ruby 4.0 support compatibility
💡 Result:
Short answer: As of now (Ruby 4.0 released Dec 25, 2025), ruby/setup-ruby does not yet list Ruby 4.0 as a supported release — the action's supported-versions docs currently stop at the 3.x series (you can use ruby-head as a temporary option). Sources: ruby/setup-ruby README and Ruby 4.0 release announcement. [1][2]
Recommended actions:
- Use ruby/setup-ruby@v1 with ruby-version: 'ruby-head' to test against the latest source until the action adds official 4.0 builds. [1]
- Watch the ruby/setup-ruby repo (or ruby-builder-versions.json) for an update adding 4.0, or open an issue if you need Windows/official builds. [1][2]
Sources:
[1] ruby/setup-ruby README (supported versions list).
[2] Ruby 4.0.0 release announcement (Dec 25, 2025).
🏁 Script executed:
#!/bin/bash
# Check project files for Ruby version constraints
echo "=== Gemfile (if exists) ==="
if [ -f Gemfile ]; then
cat Gemfile
else
echo "Gemfile not found"
fi
echo -e "\n=== .ruby-version (if exists) ==="
if [ -f .ruby-version ]; then
cat .ruby-version
else
echo ".ruby-version file not found"
fi
echo -e "\n=== gemspec files (if exist) ==="
fd -e gemspec --exec cat {} +
echo -e "\n=== Checking for ruby version constraints in any file ==="
rg "required_ruby_version|ruby.*['\"]3\.[0-9]|ruby.*['\"]4\.0" --type yaml --type ruby -A 2 || echo "No explicit constraints found"Repository: ruby-shoryuken/shoryuken
Length of output: 154
🏁 Script executed:
#!/bin/bash
# Simplified check for Ruby version constraints
cd /tmp && timeout 30 cat .github/workflows/specs.yml 2>/dev/null || echo "Workflow file check skipped"
# Try to list Gemfile and .ruby-version
ls -la Gemfile .ruby-version .gemspec *.gemspec 2>/dev/null || echo "Standard Ruby files not found in expected locations"
# Check workflow file directly
head -50 .github/workflows/specs.ymlRepository: ruby-shoryuken/shoryuken
Length of output: 251
🏁 Script executed:
#!/bin/bash
# Find the specs.yml file and project gem files
echo "=== Finding workflow file ==="
git ls-files | grep -E "(specs\.yml|workflows)" | head -5
echo -e "\n=== Finding Gemfile and gemspec ==="
git ls-files | grep -E "(Gemfile|\.gemspec|\.ruby-version)" | head -10
echo -e "\n=== Reading .github/workflows/specs.yml ==="
git show HEAD:.github/workflows/specs.yml | head -50
echo -e "\n=== Checking for Gemfile ==="
git show HEAD:Gemfile 2>/dev/null || echo "Gemfile not in repository"
echo -e "\n=== Checking for .ruby-version ==="
git show HEAD:.ruby-version 2>/dev/null || echo ".ruby-version not in repository"Repository: ruby-shoryuken/shoryuken
Length of output: 2081
Ruby 4.0 is not yet supported by ruby/setup-ruby (v1.276.0) — this workflow will fail.
Ruby 4.0.0 was officially released on December 25, 2025, but the ruby/setup-ruby action (v1.276.0) does not currently provide Ruby 4.0 binaries. The specs and integrations jobs will fail when attempting to run against Ruby 4.0.
Options:
- Use
ruby-version: 'ruby-head'as a temporary workaround until ruby/setup-ruby adds official Ruby 4.0 support - Wait for ruby/setup-ruby to release Ruby 4.0 support and update the action version
- Remove '4.0' from the matrix until the action supports it (your
.ruby-versionfile is already set to 4.0.0)
Also applies to: 30-30
🤖 Prompt for AI Agents
.github/workflows/specs.yml around line 12: the matrix includes ruby '4.0' but
ruby/setup-ruby v1.276.0 does not yet supply Ruby 4.0 binaries so the workflow
will fail; fix by removing '4.0' from the matrix or replace it with
ruby-version: 'ruby-head' as a temporary workaround (or update the action
version once ruby/setup-ruby adds 4.0 support); pick one of these actions and
update the matrix value(s) and/or action version consistently across the
workflow (also adjust other occurrences at lines ~30 if present).
Summary
Test plan
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.