-
Notifications
You must be signed in to change notification settings - Fork 129
Update for Ruby 4 #3848
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
Update for Ruby 4 #3848
Conversation
🦋 Changeset detectedLatest commit: edf4b0f The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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.
Pull request overview
This PR aims to add Ruby 4 support to the test suite by updating memory allocation assertions and increasing browser test timeouts. However, there are significant concerns about references to Ruby 4.0, which has not been officially released as of January 2025.
Changes:
- Added "4.0" entries to memory allocation assertions in performance benchmarks
- Increased FERRUM_PROCESS_TIMEOUT to 30 seconds for browser-based test workflows
- Updated package-lock.json with peer dependency markers (automated npm update)
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/performance/bench_utilities.rb | Added Ruby 4.0 allocation assertions for utility methods |
| test/performance/bench_octicons.rb | Added Ruby 4.0 allocation assertions for Octicon component |
| test/performance/bench_classify.rb | Added Ruby 4.0 allocation assertions for classify functionality |
| .github/workflows/test-selectors.yml | Added 30-second timeout for Ferrum browser processes |
| .github/workflows/test-accessibility.yml | Added 30-second timeout for Ferrum browser processes |
| package-lock.json | Automated npm update adding peer dependency markers |
| .changeset/healthy-days-hide.md | Changeset documenting Ruby 4 support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What are you trying to accomplish?
This PR updates the library to support Ruby 4 in the test suite, which we run in the ViewComponent test suite: https://github.com/ViewComponent/view_component/actions/runs/20867978163/job/59963524381.
A couple of browser-based builds needed longer timeouts to pass here.
At first, I tried updating to the latest Ruby and Rails wholesale across the repo, but ran into freerange/mocha#622 and a lack of Ruby 4 support in the VSCode Ruby images, so I held off on doing a full upgrade.
Screenshots
N/A
Integration
No
List the issues that this change affects.
N/A
Risk Assessment
This change shouldn't make any difference in production.
What approach did you choose and why?
TBD
Anything you want to highlight for special attention from reviewers?
No
Merge checklist
Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.