Skip to content

Conversation

@joelhawksley
Copy link
Contributor

@joelhawksley joelhawksley commented Jan 12, 2026

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

  • Low risk the change is small, highly observable, and easily rolled back.
  • Medium risk changes that are isolated, reduced in scope or could impact few users. The change will not impact library availability.
  • High risk changes are those that could impact customers and SLOs, low or no test coverage, low observability, or slow to rollback.

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

  • Added/updated tests
  • Added/updated documentation
  • Added/updated previews (Lookbook)
  • Tested in Chrome
  • Tested in Firefox
  • Tested in Safari
  • Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

@changeset-bot
Copy link

changeset-bot bot commented Jan 12, 2026

🦋 Changeset detected

Latest commit: edf4b0f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@primer/view-components Patch

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

Copy link
Contributor

Copilot AI left a 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.

@jonrohan jonrohan added this pull request to the merge queue Jan 12, 2026
Merged via the queue into main with commit 20d2e9f Jan 12, 2026
31 checks passed
@jonrohan jonrohan deleted the ruby-4 branch January 12, 2026 21:25
@primer primer bot mentioned this pull request Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants