Skip to content

Drop Ruby 3.1 and update dependencies #8760

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

Merged
merged 1 commit into from
Jul 22, 2025
Merged

Conversation

tagliala
Copy link
Contributor

@tagliala tagliala commented Jul 22, 2025

Changes:

  • Drop support for Ruby 3.1.
  • Update Ruby, Bundler, and Node dependencies
    across the project.
  • Remove dependencies and code paths specific to
    Ruby 3.1.

Reasons for dropping Ruby 3.1:

  • Ruby 3.1 reached end-of-life 3 months ago.
  • Rails 7.0 supports Ruby 3.2 and 3.3, making 3.1
    unnecessary.
  • Multiple instances of FIXME related to legacy
    Ruby support can be dropped.
  • Active Admin 4 stable release does not look.
    imminent, so maintaining deprecated Ruby
    versions is not practical.
  • There are failures with the new Bundler 2
    (>= 2.7.0) when used with Ruby 3.1.

@tagliala tagliala force-pushed the chore/update-dependencies branch 2 times, most recently from 9c09681 to 9323f57 Compare July 22, 2025 08:22
@tagliala
Copy link
Contributor Author

tagliala commented Jul 22, 2025

     Failure/Error: expect(current_lockfile).to eq(new_lockfile), msg

       Please update /home/runner/work/activeadmin/activeadmin/gemfiles/rails_72/Gemfile's lock file with `BUNDLE_GEMFILE=/home/runner/work/activeadmin/activeadmin/gemfiles/rails_72/Gemfile bundle install` and commit the result
       Diff:
       @@ -449,4 +449,4 @@
          zeitwerk (~> 2.6.18)
        
        BUNDLED WITH
       -   2.7.1
       +   2.6.9
     # ./spec/tasks/gemfile_spec.rb:13:in `block (2 levels) in <top (required)>'

Ok I have an idea... ⏳

@tagliala
Copy link
Contributor Author

tagliala commented Jul 22, 2025

@deivid-rodriguez @javierjulio do you have any suggestion here?

I was thinking to:

  1. A conditional rubygems: in the workflow; OR
  2. Change the spec to ignore "bundled with" entry

I would go for the second option

Mentioning David because of the slightly related ruby/setup-ruby#780

@javierjulio
Copy link
Member

@tagliala is the test comparing the lock file from BUNDLE_GEMFILE to the root Gemfile.lock? I take it that's the issue since the root Gemfile.lock has the bundled-with version update whereas the BUNDLE_GEMFILE lock files do not. You are welcome to work around it if you want to keep the test. I'd prefer to just remove the test and/or drop EOL Rubies. For the former, we have bin/bundle to manage updating all the gemfiles so not too concerned for these getting out of sync.

@tagliala
Copy link
Contributor Author

I'm going to drop 3.1, reasons:

  • we have several # FIXME: remove this dependency when Ruby 3.1 support will be dropped
  • 3.1 is in EOL since 3 months
  • Rails 7.0 does support 3.2 and 3.3
  • Active Admin 4 stable release does not look imminent

@tagliala tagliala force-pushed the chore/update-dependencies branch from 9323f57 to cbcd640 Compare July 22, 2025 16:03
@tagliala tagliala changed the title Update Ruby, Bundler, and Node dependencies Drop Ruby 3.1 and update dependencies Jul 22, 2025
Changes:
- Drop support for Ruby 3.1.
- Update Ruby, Bundler, and Node dependencies
  across the project.
- Remove dependencies and code paths specific to
  Ruby 3.1.

Reasons for dropping Ruby 3.1:
- Ruby 3.1 reached end-of-life 3 months ago.
- Rails 7.0 supports Ruby 3.2 and 3.3, making 3.1
  unnecessary.
- Multiple instances of `FIXME` related to legacy
  Ruby support can be dropped.
- Active Admin 4 stable release does not look.
  imminent, so maintaining deprecated Ruby
  versions is not practical.
- There are failures with the new Bundler 2
  (>= 2.7.0) when used with Ruby 3.1.
@tagliala tagliala force-pushed the chore/update-dependencies branch from cbcd640 to ce13d60 Compare July 22, 2025 16:04
@tagliala tagliala requested a review from javierjulio July 22, 2025 16:09
@tagliala
Copy link
Contributor Author

codecov is not passing because it may be waiting for 3.1?

Copy link

codecov bot commented Jul 22, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.11%. Comparing base (98b9fa8) to head (ce13d60).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #8760   +/-   ##
=======================================
  Coverage   99.11%   99.11%           
=======================================
  Files         141      141           
  Lines        4074     4074           
=======================================
  Hits         4038     4038           
  Misses         36       36           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@javierjulio
Copy link
Member

@tagliala no it's not that. Sometimes the status checks get stuck and Codecov recommends re-uploading the reports so I reran the Upload Coverage job and that worked. It usually does the trick thankfully. I will approve now. Thanks!

Copy link
Member

@javierjulio javierjulio left a comment

Choose a reason for hiding this comment

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

Thanks!

@tagliala tagliala merged commit 59d4829 into master Jul 22, 2025
41 checks passed
@tagliala tagliala deleted the chore/update-dependencies branch July 22, 2025 18:58
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.

2 participants