Skip to content

Conversation

@mensfeld
Copy link
Collaborator

@mensfeld mensfeld commented Dec 26, 2025

Summary

  • Add Ruby 4.0 to the CI test matrix for specs and integration tests

Test plan

  • CI will run tests against Ruby 4.0 to verify compatibility

Summary by CodeRabbit

  • Chores
    • Expanded continuous integration testing matrix to include Ruby 4.0 alongside existing Ruby versions.

✏️ Tip: You can customize this high-level summary in your review settings.

Include Ruby 4.0 in the CI test matrix for both specs and integration tests.
@coderabbitai
Copy link

coderabbitai bot commented Dec 26, 2025

📝 Walkthrough

Walkthrough

This 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

Cohort / File(s) Summary
CI Workflow Ruby Matrix
.github/workflows/specs.yml, .github/workflows/integrations.yml
Extended Ruby version matrix to include Ruby 4.0 alongside existing 3.2, 3.3, and 3.4 versions, affecting test matrix expansion.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • phstc

Poem

🐰 Ruby 4.0 hops into the CI race,
Four versions now tested in their place,
Matrix expands with shiny new 4.0,
Tests will run faster, watch them go! ✨
Workflows complete, compatibility's set,
The future of testing, no room for regret!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add Ruby 4.0 to CI matrix' directly and clearly describes the main change: extending the Ruby version targets in CI workflows to include Ruby 4.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch add-ruby-4.0-to-ci

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between bb50cdf and f6b36e8.

📒 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']
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 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.yml

Repository: 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:

  1. Use ruby-version: 'ruby-head' as a temporary workaround until ruby/setup-ruby adds official Ruby 4.0 support
  2. Wait for ruby/setup-ruby to release Ruby 4.0 support and update the action version
  3. Remove '4.0' from the matrix until the action supports it (your .ruby-version file 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).

@mensfeld mensfeld merged commit ccdca7f into main Dec 26, 2025
16 of 31 checks passed
@mensfeld mensfeld deleted the add-ruby-4.0-to-ci branch December 26, 2025 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants