-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Upgrade ruby to 3.3.6 #5952
Upgrade ruby to 3.3.6 #5952
Conversation
WalkthroughThe pull request involves a significant Ruby version upgrade from 3.1.2 to 3.3.6 across multiple configuration files. This upgrade impacts the project's Ruby version specification in Changes
Sequence DiagramsequenceDiagram
participant Developer
participant Configuration
participant RubyVersion
participant Gems
participant Controller
participant Policy
Developer->>Configuration: Update Ruby version to 3.3.6
Configuration->>RubyVersion: Update .ruby-version
Configuration->>Configuration: Update .rubocop.yml
Configuration->>Gems: Modify Gemfile
Gems->>Gems: Add css_parser
Gems->>Gems: Remove mail gem
Developer->>Controller: Refine webhook event handling
Developer->>Policy: Update feedback scope resolution
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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: 0
🧹 Nitpick comments (1)
.rubocop.yml (1)
19-19
: Simplify RuboCop's TargetRubyVersion formatRuboCop's
TargetRubyVersion
typically uses major.minor format (e.g.,3.3
) rather than including the patch version.- TargetRubyVersion: 3.3.6 + TargetRubyVersion: 3.3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Gemfile.lock
is excluded by!**/*.lock
📒 Files selected for processing (6)
.rubocop.yml
(1 hunks).ruby-version
(1 hunks)Gemfile
(2 hunks)app/controllers/repositories_controller.rb
(0 hunks)app/policies/feedback_policy.rb
(0 hunks)test/runners/submission_runner_test.rb
(1 hunks)
💤 Files with no reviewable changes (2)
- app/controllers/repositories_controller.rb
- app/policies/feedback_policy.rb
✅ Files skipped from review due to trivial changes (1)
- .ruby-version
🔇 Additional comments (3)
Gemfile (2)
4-4
: LGTM: Ruby version update
The Ruby version update to 3.3.6 is consistent with the PR objective.
111-111
: Verify gem compatibility with Ruby 3.3
While css_parser has been explicitly updated for Ruby 3.3 support, other gems might need version updates too.
✅ Verification successful
Let me try a different approach to verify the gem compatibility with Ruby 3.3.
Let me try one more verification approach focusing on the Rails version and its dependencies.
Ruby and Rails versions are compatible with css_parser update
The project is already configured to use Ruby 3.3 (~> 3.3.6
) and Rails 7.2.2, which are both recent versions that support Ruby 3.3. The update of css_parser to version 1.19.1 for Ruby 3.3 support aligns well with the project's Ruby version requirement.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for potential gem compatibility issues with Ruby 3.3
# Get all gem specifications from the Gemfile
rg "^gem '.*'" --no-filename | while read -r line; do
# Extract gem name
gem_name=$(echo "$line" | sed -n "s/gem '\([^']*\)'.*/\1/p")
if [ ! -z "$gem_name" ]; then
# Check if gem exists in rubygems.org and get its Ruby version requirements
echo "Checking $gem_name..."
curl -s "https://rubygems.org/api/v1/gems/$gem_name.json" | \
jq -r '.ruby_version, .requirements' 2>/dev/null
fi
done
Length of output: 20457
Script:
#!/bin/bash
# Check gem versions and their required Ruby versions from their gemspecs
rg "^gem '.*'" --no-filename | while read -r line; do
gem_name=$(echo "$line" | sed -n "s/gem '\([^']*\)'.*/\1/p")
if [ ! -z "$gem_name" ]; then
# Search for .gemspec files
fd "${gem_name}.gemspec" | while read -r gemspec; do
echo "=== $gem_name ==="
# Look for required_ruby_version in gemspec
rg "required_ruby_version" "$gemspec" || true
done
fi
done
# Also check Rails version requirements specifically as it's the core dependency
rg "^gem 'rails'" --no-filename
Length of output: 13005
Script:
#!/bin/bash
# Check Rails version and its dependencies
echo "=== Checking Rails version ==="
rg "^gem 'rails'" --no-filename
# Check for .ruby-version file
echo -e "\n=== Checking Ruby version requirement ==="
fd -t f "^.ruby-version$" -x cat {}
# Check Gemfile for any explicit Ruby version requirement
echo -e "\n=== Checking Gemfile Ruby version ==="
rg "^ruby" Gemfile
Length of output: 401
test/runners/submission_runner_test.rb (1)
24-24
: LGTM: Optimized keyword argument handling
The change from **kwargs
to **
is a good optimization as the method doesn't use the keyword arguments directly. This is also more idiomatic in Ruby 3.3.
This pull request updates ruby to version 3.3.6